# Class NpgsqlEnumTypeMapping

Namespace
  Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.Mapping

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 NpgsqlEnumTypeMapping : RelationalTypeMapping

Inheritance
  object
  CoreTypeMapping
  RelationalTypeMapping
  NpgsqlEnumTypeMapping

Inherited Members
  RelationalTypeMapping.NullMapping
  RelationalTypeMapping.Clone(CoreTypeMapping.CoreTypeMappingParameters)
  RelationalTypeMapping.WithStoreTypeAndSize(string, int?)
  RelationalTypeMapping.WithPrecisionAndScale(int?, int?)
  RelationalTypeMapping.WithComposedConverter(ValueConverter, ValueComparer, ValueComparer, CoreTypeMapping, JsonValueReaderWriter)
  RelationalTypeMapping.WithTypeMappingInfo(in RelationalTypeMappingInfo)
  RelationalTypeMapping.Clone(in RelationalTypeMappingInfo?, Type, ValueConverter, ValueComparer, ValueComparer, ValueComparer, CoreTypeMapping, JsonValueReaderWriter, StoreTypePostfix?)
  RelationalTypeMapping.ProcessStoreType(RelationalTypeMapping.RelationalTypeMappingParameters, string, string)
  RelationalTypeMapping.CreateParameter(DbCommand, string, object, bool?, ParameterDirection)
  RelationalTypeMapping.GenerateSqlLiteral(object)
  RelationalTypeMapping.GenerateProviderValueSqlLiteral(object)
  RelationalTypeMapping.GetDataReaderMethod()
  RelationalTypeMapping.GetDataReaderMethod(Type)
  RelationalTypeMapping.CustomizeDataReaderExpression(Expression)
  RelationalTypeMapping.Parameters
  RelationalTypeMapping.StoreTypePostfix
  RelationalTypeMapping.StoreType
  RelationalTypeMapping.StoreTypeNameBase
  RelationalTypeMapping.DbType
  RelationalTypeMapping.IsUnicode
  RelationalTypeMapping.Size
  RelationalTypeMapping.Precision
  RelationalTypeMapping.Scale
  RelationalTypeMapping.IsFixedLength
  RelationalTypeMapping.SqlLiteralFormatString
  CoreTypeMapping.Clone(in TypeMappingInfo?, Type, ValueConverter, ValueComparer, ValueComparer, ValueComparer, CoreTypeMapping, JsonValueReaderWriter)
  CoreTypeMapping.GenerateCodeLiteral(object)
  CoreTypeMapping.ClrType
  CoreTypeMapping.Converter
  CoreTypeMapping.ValueGeneratorFactory
  CoreTypeMapping.Comparer
  CoreTypeMapping.KeyComparer
  CoreTypeMapping.ProviderValueComparer
  CoreTypeMapping.ElementTypeMapping
  CoreTypeMapping.JsonValueReaderWriter
  object.Equals(object)
  object.Equals(object, object)
  object.GetHashCode()
  object.GetType()
  object.MemberwiseClone()
  object.ReferenceEquals(object, object)
  object.ToString()

## Constructors

### NpgsqlEnumTypeMapping(RelationalTypeMappingParameters, string, IReadOnlyDictionary<object, string>)

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 NpgsqlEnumTypeMapping(RelationalTypeMapping.RelationalTypeMappingParameters parameters, string unquotedStoreType, IReadOnlyDictionary<object, string> labels)

#### Parameters

`parameters` RelationalTypeMapping.RelationalTypeMappingParameters
`unquotedStoreType` string
`labels` IReadOnlyDictionary<object, string>

### NpgsqlEnumTypeMapping(string, string, Type, IReadOnlyDictionary<object, string>)

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 NpgsqlEnumTypeMapping(string quotedStoreType, string unquotedStoreType, Type enumType, IReadOnlyDictionary<object, string> labels)

#### Parameters

`quotedStoreType` string
`unquotedStoreType` string
`enumType` Type
`labels` IReadOnlyDictionary<object, string>

## 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 NpgsqlEnumTypeMapping Default { get; }

#### Property Value

NpgsqlEnumTypeMapping

### Labels

Maps the CLR member values to the PostgreSQL value labels.

    public virtual IReadOnlyDictionary<object, string> Labels { get; }

#### Property Value

IReadOnlyDictionary<object, string>

#### 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.

### UnquotedStoreType

The unquoted store type, used for setting on DataTypeName.

    public virtual string UnquotedStoreType { get; }

#### Property Value

string

#### 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.

## 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

`parameters` RelationalTypeMapping.RelationalTypeMappingParameters

#### Returns

RelationalTypeMapping

### Clone(string, IReadOnlyDictionary<object, string>)

This method exists only to support the compiled model.

    public virtual NpgsqlEnumTypeMapping Clone(string unquotedStoreType, IReadOnlyDictionary<object, string> labels)

#### Parameters

`unquotedStoreType` string
`labels` IReadOnlyDictionary<object, string>

#### Returns

NpgsqlEnumTypeMapping

#### 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

### 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

#### Returns

string