Table of Contents

Class NpgsqlTypeMappingSource

Namespace
Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal
Assembly
Npgsql.EntityFrameworkCore.PostgreSQL.dll

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public class NpgsqlTypeMappingSource : RelationalTypeMappingSource, IRelationalTypeMappingSource, ITypeMappingSource
Inheritance
NpgsqlTypeMappingSource
Implements
Inherited Members

Constructors

NpgsqlTypeMappingSource(TypeMappingSourceDependencies, RelationalTypeMappingSourceDependencies, ISqlGenerationHelper, INpgsqlSingletonOptions)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public NpgsqlTypeMappingSource(TypeMappingSourceDependencies dependencies, RelationalTypeMappingSourceDependencies relationalDependencies, ISqlGenerationHelper sqlGenerationHelper, INpgsqlSingletonOptions options)

Parameters

dependencies TypeMappingSourceDependencies
relationalDependencies RelationalTypeMappingSourceDependencies
sqlGenerationHelper ISqlGenerationHelper
options INpgsqlSingletonOptions

Fields

EStringTypeMapping

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

public readonly NpgsqlEStringTypeMapping EStringTypeMapping

Field Value

NpgsqlEStringTypeMapping

Properties

ClrTypeMappings

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

protected virtual ConcurrentDictionary<Type, RelationalTypeMapping> ClrTypeMappings { get; }

Property Value

ConcurrentDictionary<Type, RelationalTypeMapping>

StoreTypeMappings

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

protected virtual ConcurrentDictionary<string, RelationalTypeMapping[]> StoreTypeMappings { get; }

Property Value

ConcurrentDictionary<string, RelationalTypeMapping[]>

Methods

FindBaseMapping(in RelationalTypeMappingInfo)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

protected virtual RelationalTypeMapping? FindBaseMapping(in RelationalTypeMappingInfo mappingInfo)

Parameters

mappingInfo RelationalTypeMappingInfo

Returns

RelationalTypeMapping

FindCollectionMapping(RelationalTypeMappingInfo, Type, Type?, CoreTypeMapping?)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

protected override RelationalTypeMapping? FindCollectionMapping(RelationalTypeMappingInfo info, Type modelType, Type? providerType, CoreTypeMapping? elementMapping)

Parameters

info RelationalTypeMappingInfo
modelType Type
providerType Type
elementMapping CoreTypeMapping

Returns

RelationalTypeMapping

FindContainerMapping(Type, RelationalTypeMapping, IModel)

Finds the mapping for a container given its CLR type and its containee's type mapping; this is used when inferring type mappings for arrays and ranges/multiranges.

public virtual RelationalTypeMapping? FindContainerMapping(Type containerClrType, RelationalTypeMapping containeeTypeMapping, IModel model)

Parameters

containerClrType Type
containeeTypeMapping RelationalTypeMapping
model IModel

Returns

RelationalTypeMapping

FindMapping(in RelationalTypeMappingInfo)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

protected override RelationalTypeMapping? FindMapping(in RelationalTypeMappingInfo mappingInfo)

Parameters

mappingInfo RelationalTypeMappingInfo

Returns

RelationalTypeMapping

FindRowValueMapping(in RelationalTypeMappingInfo)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

protected virtual RelationalTypeMapping? FindRowValueMapping(in RelationalTypeMappingInfo mappingInfo)

Parameters

mappingInfo RelationalTypeMappingInfo

Returns

RelationalTypeMapping

FindUserRangeMapping(in RelationalTypeMappingInfo)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

protected virtual RelationalTypeMapping? FindUserRangeMapping(in RelationalTypeMappingInfo mappingInfo)

Parameters

mappingInfo RelationalTypeMappingInfo

Returns

RelationalTypeMapping

LoadUserDefinedTypeMappings(ISqlGenerationHelper, NpgsqlDataSource?)

To be used in case user-defined mappings are added late, after this TypeMappingSource has already been initialized. This is basically only for test usage.

public virtual void LoadUserDefinedTypeMappings(ISqlGenerationHelper sqlGenerationHelper, NpgsqlDataSource? dataSource)

Parameters

sqlGenerationHelper ISqlGenerationHelper
dataSource NpgsqlDataSource

ParseStoreTypeName(string?, ref bool?, ref int?, ref int?, ref int?)

This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.

protected override string? ParseStoreTypeName(string? storeTypeName, ref bool? unicode, ref int? size, ref int? precision, ref int? scale)

Parameters

storeTypeName string
unicode bool?
size int?
precision int?
scale int?

Returns

string

SetupEnumMappings(ISqlGenerationHelper, NpgsqlDataSource?)

Gets all global enum mappings from the ADO.NET layer and creates mappings for them

protected virtual void SetupEnumMappings(ISqlGenerationHelper sqlGenerationHelper, NpgsqlDataSource? dataSource)

Parameters

sqlGenerationHelper ISqlGenerationHelper
dataSource NpgsqlDataSource