Class NpgsqlRangeTypeMapping
- Assembly
- Npgsql.EntityFrameworkCore.PostgreSQL.dll
The type mapping for PostgreSQL range types.
public class NpgsqlRangeTypeMapping : NpgsqlTypeMapping, INpgsqlTypeMapping
- Inheritance
-
NpgsqlRangeTypeMapping
- Implements
- Inherited Members
Remarks
Constructors
NpgsqlRangeTypeMapping(RelationalTypeMappingParameters, NpgsqlDbType, RelationalTypeMapping)
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 NpgsqlRangeTypeMapping(RelationalTypeMapping.RelationalTypeMappingParameters parameters, NpgsqlDbType npgsqlDbType, RelationalTypeMapping subtypeMapping)
Parameters
parameters
RelationalTypeMapping.RelationalTypeMappingParametersnpgsqlDbType
NpgsqlDbTypesubtypeMapping
RelationalTypeMapping
Properties
Default
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 static NpgsqlRangeTypeMapping Default { get; }
Property Value
SubtypeMapping
The relational type mapping of the range's subtype.
public virtual RelationalTypeMapping SubtypeMapping { get; }
Property Value
UnquotedStoreType
For user-defined ranges, we have no NpgsqlDbType and so the PG type name is set on DataTypeName instead.
public virtual string? UnquotedStoreType { get; init; }
Property Value
Methods
Clone(RelationalTypeMappingParameters)
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 Clone(RelationalTypeMapping.RelationalTypeMappingParameters parameters)
Parameters
Returns
Clone(NpgsqlDbType, RelationalTypeMapping)
This method exists only to support the compiled model.
public virtual NpgsqlRangeTypeMapping Clone(NpgsqlDbType npgsqlDbType, RelationalTypeMapping subtypeTypeMapping)
Parameters
npgsqlDbType
NpgsqlDbTypesubtypeTypeMapping
RelationalTypeMapping
Returns
Remarks
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.
ConfigureParameter(DbParameter)
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 void ConfigureParameter(DbParameter parameter)
Parameters
parameter
DbParameter
CreatBuiltInRangeMapping(string, Type, NpgsqlDbType, RelationalTypeMapping)
Constructs an instance of the NpgsqlRangeTypeMapping class for a built-in range type which has a NpgsqlDbType defined.
public static NpgsqlRangeTypeMapping CreatBuiltInRangeMapping(string rangeStoreType, Type rangeClrType, NpgsqlDbType rangeNpgsqlDbType, RelationalTypeMapping subtypeMapping)
Parameters
rangeStoreType
stringThe database type to map
rangeClrType
TypeThe CLR type to map.
rangeNpgsqlDbType
NpgsqlDbTypeThe NpgsqlDbType of the built-in range.
subtypeMapping
RelationalTypeMappingThe type mapping for the range subtype.
Returns
CreatUserDefinedRangeMapping(string, string, Type, RelationalTypeMapping)
Constructs an instance of the NpgsqlRangeTypeMapping class for a user-defined range type which doesn't have a NpgsqlDbType defined.
public static NpgsqlRangeTypeMapping CreatUserDefinedRangeMapping(string quotedRangeStoreType, string unquotedRangeStoreType, Type rangeClrType, RelationalTypeMapping subtypeMapping)
Parameters
quotedRangeStoreType
stringThe database type to map, quoted.
unquotedRangeStoreType
stringThe database type to map, unquoted.
rangeClrType
TypeThe CLR type to map.
subtypeMapping
RelationalTypeMappingThe type mapping for the range subtype.
Returns
GenerateCodeLiteral(object)
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 override Expression GenerateCodeLiteral(object value)
Parameters
value
object
Returns
GenerateEmbeddedNonNullSqlLiteral(object)
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 GenerateEmbeddedNonNullSqlLiteral(object value)
Parameters
value
object
Returns
GenerateNonNullSqlLiteral(object)
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 GenerateNonNullSqlLiteral(object value)
Parameters
value
object