# Class EnumDefinition

Namespace
  Npgsql.EntityFrameworkCore.PostgreSQL.Infrastructure.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 sealed class EnumDefinition : IEquatable<EnumDefinition>

Inheritance
  object
  EnumDefinition

Implements
  IEquatable<EnumDefinition>

Inherited Members
  object.Equals(object, object)
  object.GetType()
  object.ReferenceEquals(object, object)
  object.ToString()

## Constructors

### EnumDefinition(Type, string?, string?, INpgsqlNameTranslator)

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 EnumDefinition(Type clrType, string? name, string? schema, INpgsqlNameTranslator nameTranslator)

#### Parameters

`clrType` Type
`name` string
`schema` string
`nameTranslator` INpgsqlNameTranslator

## Properties

### ClrType

The CLR type of the enum.

    public Type ClrType { get; }

#### Property Value

Type

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

### Labels

Maps the CLR member values to the PostgreSQL value labels.

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

### NameTranslator

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 INpgsqlNameTranslator NameTranslator { get; }

#### Property Value

INpgsqlNameTranslator

### StoreTypeName

The name of the PostgreSQL enum type to be mapped.

    public string StoreTypeName { 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.

### StoreTypeSchema

The PostgreSQL schema in which the enum is defined. If null, the default schema is used (which is public unless changed on the model).

    public string? StoreTypeSchema { 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

### Equals(EnumDefinition?)

Indicates whether the current object is equal to another object of the same type.

    public bool Equals(EnumDefinition? other)

#### Parameters

`other` EnumDefinition

  An object to compare with this object.

#### Returns

bool

  true if the current object is equal to the `other` parameter; otherwise, false.

### Equals(object?)

Determines whether the specified object is equal to the current object.

    public override bool Equals(object? obj)

#### Parameters

`obj` object

  The object to compare with the current object.

#### Returns

bool

  true if the specified object is equal to the current object; otherwise, false.

### GetHashCode()

Serves as the default hash function.

    public override int GetHashCode()

#### Returns

int

  A hash code for the current object.