# Class NpgsqlCSharpRuntimeAnnotationCodeGenerator

Namespace
  Npgsql.EntityFrameworkCore.PostgreSQL.Design.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 NpgsqlCSharpRuntimeAnnotationCodeGenerator : RelationalCSharpRuntimeAnnotationCodeGenerator, ICSharpRuntimeAnnotationCodeGenerator

Inheritance
  object
  CSharpRuntimeAnnotationCodeGenerator
  RelationalCSharpRuntimeAnnotationCodeGenerator
  NpgsqlCSharpRuntimeAnnotationCodeGenerator

Implements
  ICSharpRuntimeAnnotationCodeGenerator

Inherited Members
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(ITableBase, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IView, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(ISqlQuery, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IStoreFunction, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IStoreStoredProcedure, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IColumnBase, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IViewColumn, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(ISqlQueryColumn, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IFunctionColumn, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IStoreFunctionParameter, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IStoreStoredProcedureResultColumn, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IStoreStoredProcedureParameter, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IUniqueConstraint, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IForeignKeyConstraint, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(ITableMappingBase, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(ITableMapping, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IViewMapping, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(ISqlQueryMapping, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IFunctionMapping, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IStoredProcedureMapping, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IDbFunction, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IDbFunctionParameter, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(ISequence, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IComplexType, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IEntityTypeMappingFragment, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IStoredProcedure, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IStoredProcedureParameter, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IStoredProcedureResultColumn, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(ICheckConstraint, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IRelationalPropertyOverrides, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IKey, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.Generate(IForeignKey, CSharpRuntimeAnnotationCodeGeneratorParameters)
  RelationalCSharpRuntimeAnnotationCodeGenerator.RelationalDependencies
  CSharpRuntimeAnnotationCodeGenerator.Generate(IComplexProperty, CSharpRuntimeAnnotationCodeGeneratorParameters)
  CSharpRuntimeAnnotationCodeGenerator.Generate(IServiceProperty, CSharpRuntimeAnnotationCodeGeneratorParameters)
  CSharpRuntimeAnnotationCodeGenerator.Generate(IElementType, CSharpRuntimeAnnotationCodeGeneratorParameters)
  CSharpRuntimeAnnotationCodeGenerator.Generate(INavigation, CSharpRuntimeAnnotationCodeGeneratorParameters)
  CSharpRuntimeAnnotationCodeGenerator.Generate(ISkipNavigation, CSharpRuntimeAnnotationCodeGeneratorParameters)
  CSharpRuntimeAnnotationCodeGenerator.Generate(ITrigger, CSharpRuntimeAnnotationCodeGeneratorParameters)
  CSharpRuntimeAnnotationCodeGenerator.Generate(ITypeMappingConfiguration, CSharpRuntimeAnnotationCodeGeneratorParameters)
  CSharpRuntimeAnnotationCodeGenerator.GenerateSimpleAnnotations(CSharpRuntimeAnnotationCodeGeneratorParameters)
  CSharpRuntimeAnnotationCodeGenerator.GenerateSimpleAnnotation(string, string, CSharpRuntimeAnnotationCodeGeneratorParameters)
  CSharpRuntimeAnnotationCodeGenerator.AddNamespace(Type, ISet<string>)
  CSharpRuntimeAnnotationCodeGenerator.Create(ValueConverter, CSharpRuntimeAnnotationCodeGeneratorParameters)
  CSharpRuntimeAnnotationCodeGenerator.Create(ValueConverter, CSharpRuntimeAnnotationCodeGeneratorParameters, ICSharpHelper)
  CSharpRuntimeAnnotationCodeGenerator.Create(ValueComparer, CSharpRuntimeAnnotationCodeGeneratorParameters)
  CSharpRuntimeAnnotationCodeGenerator.Create(ValueComparer, CSharpRuntimeAnnotationCodeGeneratorParameters, ICSharpHelper)
  CSharpRuntimeAnnotationCodeGenerator.CreateJsonValueReaderWriter(JsonValueReaderWriter, CSharpRuntimeAnnotationCodeGeneratorParameters, ICSharpHelper)
  CSharpRuntimeAnnotationCodeGenerator.CreateJsonValueReaderWriter(Type, CSharpRuntimeAnnotationCodeGeneratorParameters, ICSharpHelper)
  CSharpRuntimeAnnotationCodeGenerator.CreateDefaultTypeMapping(CoreTypeMapping, CSharpRuntimeAnnotationCodeGeneratorParameters)
  CSharpRuntimeAnnotationCodeGenerator.Dependencies
  object.Equals(object)
  object.Equals(object, object)
  object.GetHashCode()
  object.GetType()
  object.MemberwiseClone()
  object.ReferenceEquals(object, object)
  object.ToString()

## Constructors

### NpgsqlCSharpRuntimeAnnotationCodeGenerator(CSharpRuntimeAnnotationCodeGeneratorDependencies, RelationalCSharpRuntimeAnnotationCodeGeneratorDependencies)

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 NpgsqlCSharpRuntimeAnnotationCodeGenerator(CSharpRuntimeAnnotationCodeGeneratorDependencies dependencies, RelationalCSharpRuntimeAnnotationCodeGeneratorDependencies relationalDependencies)

#### Parameters

`dependencies` CSharpRuntimeAnnotationCodeGeneratorDependencies
`relationalDependencies` RelationalCSharpRuntimeAnnotationCodeGeneratorDependencies

## Methods

### AddNpgsqlTypeMappingTweaks(CoreTypeMapping, CSharpRuntimeAnnotationCodeGeneratorParameters)

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.

    [EntityFrameworkInternal]
    protected virtual void AddNpgsqlTypeMappingTweaks(CoreTypeMapping typeMapping, CSharpRuntimeAnnotationCodeGeneratorParameters parameters)

#### Parameters

`typeMapping` CoreTypeMapping
`parameters` CSharpRuntimeAnnotationCodeGeneratorParameters

### Create(CoreTypeMapping, CSharpRuntimeAnnotationCodeGeneratorParameters, ValueComparer?, ValueComparer?, ValueComparer?)

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 bool Create(CoreTypeMapping typeMapping, CSharpRuntimeAnnotationCodeGeneratorParameters parameters, ValueComparer? valueComparer = null, ValueComparer? keyValueComparer = null, ValueComparer? providerValueComparer = null)

#### Parameters

`typeMapping` CoreTypeMapping
`parameters` CSharpRuntimeAnnotationCodeGeneratorParameters
`valueComparer` ValueComparer
`keyValueComparer` ValueComparer
`providerValueComparer` ValueComparer

#### Returns

bool

### Generate(IColumn, CSharpRuntimeAnnotationCodeGeneratorParameters)

Generates code to create the given annotations.

    public override void Generate(IColumn column, CSharpRuntimeAnnotationCodeGeneratorParameters parameters)

#### Parameters

`column` IColumn

  The column to which the annotations are applied.

`parameters` CSharpRuntimeAnnotationCodeGeneratorParameters

  Additional parameters used during code generation.

### Generate(IEntityType, CSharpRuntimeAnnotationCodeGeneratorParameters)

Generates code to create the given annotations.

    public override void Generate(IEntityType entityType, CSharpRuntimeAnnotationCodeGeneratorParameters parameters)

#### Parameters

`entityType` IEntityType

  The entity type to which the annotations are applied.

`parameters` CSharpRuntimeAnnotationCodeGeneratorParameters

  Additional parameters used during code generation.

### Generate(IIndex, CSharpRuntimeAnnotationCodeGeneratorParameters)

Generates code to create the given annotations.

    public override void Generate(IIndex index, CSharpRuntimeAnnotationCodeGeneratorParameters parameters)

#### Parameters

`index` IIndex

  The index to which the annotations are applied.

`parameters` CSharpRuntimeAnnotationCodeGeneratorParameters

  Additional parameters used during code generation.

### Generate(IModel, CSharpRuntimeAnnotationCodeGeneratorParameters)

Generates code to create the given annotations.

    public override void Generate(IModel model, CSharpRuntimeAnnotationCodeGeneratorParameters parameters)

#### Parameters

`model` IModel

  The model to which the annotations are applied.

`parameters` CSharpRuntimeAnnotationCodeGeneratorParameters

  Additional parameters used during code generation.

### Generate(IProperty, CSharpRuntimeAnnotationCodeGeneratorParameters)

Generates code to create the given annotations.

    public override void Generate(IProperty property, CSharpRuntimeAnnotationCodeGeneratorParameters parameters)

#### Parameters

`property` IProperty

  The property to which the annotations are applied.

`parameters` CSharpRuntimeAnnotationCodeGeneratorParameters

  Additional parameters used during code generation.

### Generate(IRelationalModel, CSharpRuntimeAnnotationCodeGeneratorParameters)

Generates code to create the given annotations.

    public override void Generate(IRelationalModel model, CSharpRuntimeAnnotationCodeGeneratorParameters parameters)

#### Parameters

`model` IRelationalModel

  The relational model to which the annotations are applied.

`parameters` CSharpRuntimeAnnotationCodeGeneratorParameters

  Additional parameters used during code generation.

### Generate(ITable, CSharpRuntimeAnnotationCodeGeneratorParameters)

Generates code to create the given annotations.

    public override void Generate(ITable table, CSharpRuntimeAnnotationCodeGeneratorParameters parameters)

#### Parameters

`table` ITable

  The table to which the annotations are applied.

`parameters` CSharpRuntimeAnnotationCodeGeneratorParameters

  Additional parameters used during code generation.

### Generate(ITableIndex, CSharpRuntimeAnnotationCodeGeneratorParameters)

Generates code to create the given annotations.

    public override void Generate(ITableIndex index, CSharpRuntimeAnnotationCodeGeneratorParameters parameters)

#### Parameters

`index` ITableIndex

  The unique constraint to which the annotations are applied.

`parameters` CSharpRuntimeAnnotationCodeGeneratorParameters

  Additional parameters used during code generation.