# Class UserRangeDefinition

Namespace
  Npgsql.EntityFrameworkCore.PostgreSQL.Infrastructure.Internal

Assembly
  Npgsql.EntityFrameworkCore.PostgreSQL.dll

A definition for a user-defined PostgreSQL range to be mapped.

    public sealed record UserRangeDefinition : IEquatable<UserRangeDefinition>

Inheritance
  object
  UserRangeDefinition

Implements
  IEquatable<UserRangeDefinition>

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

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

## Constructors

### UserRangeDefinition(string, string?, Type, 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 UserRangeDefinition(string name, string? schema, Type subtypeClrType, string? subtypeName)

#### Parameters

`name` string
`schema` string
`subtypeClrType` Type
`subtypeName` string

## Properties

### StoreTypeName

The name of the PostgreSQL range 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 range 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.

### SubtypeClrType

The CLR type of the range's subtype (or element). The actual mapped type will be an NpgsqlRange<T> over this type.

    public Type SubtypeClrType { 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.

### SubtypeName

Optionally, the name of the range's PostgreSQL subtype (or element). This is usually not needed - the subtype will be inferred based on SubtypeClrType.

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