# Class NpgsqlSingletonOptions

Namespace
  Npgsql.EntityFrameworkCore.PostgreSQL.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 NpgsqlSingletonOptions : INpgsqlSingletonOptions, ISingletonOptions

Inheritance
  object
  NpgsqlSingletonOptions

Implements
  INpgsqlSingletonOptions
  ISingletonOptions

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

## Constructors

### NpgsqlSingletonOptions()

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 NpgsqlSingletonOptions()

## Properties

### ApplicationServiceProvider

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 virtual IServiceProvider? ApplicationServiceProvider { get; }

#### Property Value

IServiceProvider

### DataSource

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 virtual DbDataSource? DataSource { get; }

#### Property Value

DbDataSource

### IsPostgresVersionSet

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 virtual bool IsPostgresVersionSet { get; }

#### Property Value

bool

### PostgresVersion

The backend version to target.

    public virtual Version PostgresVersion { get; }

#### Property Value

Version

### ReverseNullOrderingEnabled

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 virtual bool ReverseNullOrderingEnabled { get; }

#### Property Value

bool

### UseRedshift

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 virtual bool UseRedshift { get; }

#### Property Value

bool

### UserRangeDefinitions

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 virtual IReadOnlyList<UserRangeDefinition> UserRangeDefinitions { get; }

#### Property Value

IReadOnlyList<UserRangeDefinition>

## Methods

### Initialize(IDbContextOptions)

Initializes the singleton options from the given IDbContextOptions.

    public virtual void Initialize(IDbContextOptions options)

#### Parameters

`options` IDbContextOptions

### Validate(IDbContextOptions)

Validates that the options in given IDbContextOptions have not changed when compared to the options already set here, and throws if they have.

    public virtual void Validate(IDbContextOptions options)

#### Parameters

`options` IDbContextOptions