# Class NpgsqlAnnotationProvider

Namespace
  Npgsql.EntityFrameworkCore.PostgreSQL.Metadata.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 NpgsqlAnnotationProvider : RelationalAnnotationProvider, IRelationalAnnotationProvider

Inheritance
  object
  RelationalAnnotationProvider
  NpgsqlAnnotationProvider

Implements
  IRelationalAnnotationProvider

Inherited Members
  RelationalAnnotationProvider.For(IView, bool)
  RelationalAnnotationProvider.For(IViewColumn, bool)
  RelationalAnnotationProvider.For(ISqlQuery, bool)
  RelationalAnnotationProvider.For(ISqlQueryColumn, bool)
  RelationalAnnotationProvider.For(IStoreFunction, bool)
  RelationalAnnotationProvider.For(IStoreFunctionParameter, bool)
  RelationalAnnotationProvider.For(IFunctionColumn, bool)
  RelationalAnnotationProvider.For(IStoreStoredProcedure, bool)
  RelationalAnnotationProvider.For(IStoreStoredProcedureParameter, bool)
  RelationalAnnotationProvider.For(IStoreStoredProcedureResultColumn, bool)
  RelationalAnnotationProvider.For(IForeignKeyConstraint, bool)
  RelationalAnnotationProvider.For(IUniqueConstraint, bool)
  RelationalAnnotationProvider.For(ISequence, bool)
  RelationalAnnotationProvider.For(ICheckConstraint, bool)
  RelationalAnnotationProvider.For(ITrigger, bool)
  RelationalAnnotationProvider.Dependencies
  object.Equals(object)
  object.Equals(object, object)
  object.GetHashCode()
  object.GetType()
  object.MemberwiseClone()
  object.ReferenceEquals(object, object)
  object.ToString()

## Constructors

### NpgsqlAnnotationProvider(RelationalAnnotationProviderDependencies)

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 NpgsqlAnnotationProvider(RelationalAnnotationProviderDependencies dependencies)

#### Parameters

`dependencies` RelationalAnnotationProviderDependencies

## Methods

### For(IColumn, bool)

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 IEnumerable<IAnnotation> For(IColumn column, bool designTime)

#### Parameters

`column` IColumn
`designTime` bool

#### Returns

IEnumerable<IAnnotation>

### For(IRelationalModel, bool)

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 IEnumerable<IAnnotation> For(IRelationalModel model, bool designTime)

#### Parameters

`model` IRelationalModel
`designTime` bool

#### Returns

IEnumerable<IAnnotation>

### For(ITable, bool)

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 IEnumerable<IAnnotation> For(ITable table, bool designTime)

#### Parameters

`table` ITable
`designTime` bool

#### Returns

IEnumerable<IAnnotation>

### For(ITableIndex, bool)

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 IEnumerable<IAnnotation> For(ITableIndex index, bool designTime)

#### Parameters

`index` ITableIndex
`designTime` bool

#### Returns

IEnumerable<IAnnotation>