PropertyBuilder クラス

定義

を構成するための簡単な API を提供します IMutableProperty

public class PropertyBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.IMutableModel>, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalPropertyBuilder>
public class PropertyBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalPropertyBuilder>
public class PropertyBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionPropertyBuilder>
type PropertyBuilder = class
    interface IInfrastructure<IMutableModel>
    interface IInfrastructure<InternalPropertyBuilder>
type PropertyBuilder = class
    interface IInfrastructure<InternalPropertyBuilder>
type PropertyBuilder = class
    interface IInfrastructure<IConventionPropertyBuilder>
Public Class PropertyBuilder
Implements IInfrastructure(Of IMutableModel), IInfrastructure(Of InternalPropertyBuilder)
Public Class PropertyBuilder
Implements IInfrastructure(Of InternalPropertyBuilder)
Public Class PropertyBuilder
Implements IInfrastructure(Of IConventionPropertyBuilder)
継承
PropertyBuilder
派生
実装
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalPropertyBuilder> IInfrastructure<IConventionPropertyBuilder>

注釈

このクラスのインスタンスは、API を使用する場合に ModelBuilder メソッドから返され、アプリケーション コードで直接構築されるようには設計されていません。

詳細と例については、「 エンティティ型とリレーションシップのモデル 化」を参照してください。

コンストラクター

PropertyBuilder(IMutableProperty)

これは Entity Framework Core インフラストラクチャをサポートする内部 API であり、パブリック API と同じ互換性標準の対象ではありません。 いかなるリリースでも予告なく変更または削除される場合があります。 コードで直接使用する場合は、細心の注意を払う必要があります。これを行うと、新しい Entity Framework Core リリースに更新するとアプリケーションエラーが発生する可能性があることを認識してください。

PropertyBuilder(InternalPropertyBuilder)

この API は Entity Framework Core インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 この API は、今後のリリースで変更または削除される可能性があります。

プロパティ

Metadata

構成中のプロパティ。

メソッド

HasAnnotation(String, Object)

プロパティの注釈を追加または更新します。 で指定されたキーを持つ注釈が既に annotation 存在する場合、その値は更新されます。

HasConversion(Type)

データベースに書き込む前にプロパティ値が変換され、データベースから読み取るときに戻されるように プロパティを構成します。

HasConversion(Type, Type)

データベースに書き込む前にプロパティ値が変換され、データベースから読み取るときに戻されるように プロパティを構成します。

HasConversion(Type, Type, Type)

データベースに書き込む前にプロパティ値が変換され、データベースから読み取るときに戻されるように プロパティを構成します。

HasConversion(Type, ValueComparer)

データベースに書き込む前にプロパティ値が変換され、データベースから読み取るときに戻されるように プロパティを構成します。

HasConversion(Type, ValueComparer, ValueComparer)

データベースに書き込む前にプロパティ値が変換され、データベースから読み取るときに戻されるように プロパティを構成します。

HasConversion(ValueConverter)

プロパティ値が、指定 ValueConverterされた を使用してデータベースとの間で変換されるように プロパティを構成します。

HasConversion(ValueConverter, ValueComparer)

プロパティ値が、指定 ValueConverterされた を使用してデータベースとの間で変換されるように プロパティを構成します。

HasConversion(ValueConverter, ValueComparer, ValueComparer)

プロパティ値が、指定 ValueConverterされた を使用してデータベースとの間で変換されるように プロパティを構成します。

HasConversion<TConversion,TComparer,TProviderComparer>()

データベースに書き込む前にプロパティ値が変換され、データベースから読み取るときに戻されるように プロパティを構成します。

HasConversion<TConversion,TComparer>()

データベースに書き込む前にプロパティ値が変換され、データベースから読み取るときに戻されるように プロパティを構成します。

HasConversion<TConversion>()

データベースに書き込む前にプロパティ値が変換され、データベースから読み取るときに戻されるように プロパティを構成します。

HasConversion<TConversion>(ValueComparer)

データベースに書き込む前にプロパティ値が変換され、データベースから読み取るときに戻されるように プロパティを構成します。

HasConversion<TConversion>(ValueComparer, ValueComparer)

データベースに書き込む前にプロパティ値が変換され、データベースから読み取るときに戻されるように プロパティを構成します。

HasField(String)

このプロパティに使用するバッキング フィールドを設定します。

HasMaxLength(Int32)

このプロパティに格納できるデータの最大長を構成します。 最大長は、配列プロパティ (プロパティを含む String ) でのみ設定できます。

HasPrecision(Int32)

プロパティの有効桁数を構成します。

HasPrecision(Int32, Int32)

プロパティの有効桁数と小数点以下桁数を構成します。

HasSentinel(Object)

プロパティが設定されているかどうかを判断するために使用される値を構成します。 プロパティが Sentinel 値に設定されている場合は、設定されていないと見なされます。 既定では、sentinel 値は プロパティの型の CLR 既定値です。

HasValueGenerator(Func<IProperty,IEntityType,ValueGenerator>)

このプロパティの値を生成するために 使用する を ValueGenerator 作成するためのファクトリを構成します。

HasValueGenerator(Func<IProperty,ITypeBase,ValueGenerator>)

このプロパティの値を生成するために 使用する を ValueGenerator 作成するためのファクトリを構成します。

HasValueGenerator(Type)

このプロパティの ValueGenerator 値を生成する を構成します。

HasValueGenerator<TGenerator>()

このプロパティの ValueGenerator 値を生成する を構成します。

HasValueGeneratorFactory(Type)

このプロパティの ValueGeneratorFactory 値を生成するために使用する を ValueGenerator 作成するための を構成します。

HasValueGeneratorFactory<TFactory>()

このプロパティの ValueGeneratorFactory 値を生成するために使用する を ValueGenerator 作成するための を構成します。

IsConcurrencyToken(Boolean)

このプロパティをコンカレンシー トークンとして使用するかどうかを構成します。 プロパティがコンカレンシー トークンとして構成されている場合、データベースからインスタンスが取得されてから変更されていないことを確認するために、このエンティティ型のインスタンスが更新 SaveChanges() または削除されるときに、データベース内の値がチェックされます。 変更された場合、例外がスローされ、変更はデータベースに適用されません。

IsRequired(Boolean)

このプロパティに値が割り当てられている null 必要があるか、有効な値であるかを構成します。 プロパティは、 を割り当て nullることができる CLR 型に基づいている場合にのみ、必須として構成できます。

IsRowVersion()

プロパティを および IsConcurrencyToken(Boolean)としてValueGeneratedOnAddOrUpdate()構成します。

IsUnicode(Boolean)

プロパティが Unicode 文字を保持できるかどうかを構成します。 プロパティにのみ設定 String できます。

UsePropertyAccessMode(PropertyAccessMode)

このプロパティに PropertyAccessMode 使用する を設定します。

既定では、バッキング フィールドが規則で見つかった場合、または指定されている場合は、新しいオブジェクトの構築時 (通常はデータベースからエンティティのクエリを実行する場合) に使用されます。 プロパティは、他のすべてのアクセスに使用されます。 このメソッドを呼び出すと、列挙型で説明されているように、このプロパティの動作が変更されます PropertyAccessMode

このプロパティに対してこのメソッドを呼び出すと、エンティティの種類またはモデルで設定されたアクセス モードが優先されます。

UsePropertyAccessMode(PropertyAccessMode)

このプロパティに PropertyAccessMode 使用する を設定します。

ValueGeneratedNever()

このエンティティ型のインスタンスが保存されるときに、データベースによって生成された値が設定されないようにプロパティを構成します。

ValueGeneratedOnAdd()

null 以外の一時的でない値が設定されていない限り、新しいエンティティを保存する場合にのみ生成される値を持つプロパティを構成します。この場合、設定値は代わりに保存されます。 値は、クライアント側の値ジェネレーターによって生成されるか、エンティティの保存の一部としてデータベースによって生成される場合があります。

ValueGeneratedOnAddOrUpdate()

新規または既存のエンティティを保存するときに生成される値を持つプロパティを構成します。

ValueGeneratedOnUpdate()

既存のエンティティを保存するときに生成される値を持つプロパティを構成します。

ValueGeneratedOnUpdateSometimes()

既存のエンティティを保存するときに、特定の条件下で生成される値を持つプロパティを構成します。

明示的なインターフェイスの実装

IInfrastructure<IConventionPropertyBuilder>.Instance

プロパティの構成に使用される内部ビルダー。

IInfrastructure<IMutableModel>.Instance

プロパティが属するモデル。

IInfrastructure<InternalPropertyBuilder>.Instance

プロパティの構成に使用される内部ビルダー。

拡張メソッド

IsETagConcurrency(PropertyBuilder)

このプロパティを etag コンカレンシー トークンとして構成します。

ToJsonProperty(PropertyBuilder, String)

Azure Cosmos を対象とする場合にプロパティがマップされるプロパティ名を構成します。

GetInfrastructure<T>(IInfrastructure<T>)

を使用して非表示になっているプロパティから値を IInfrastructure<T>取得します。

このメソッドは、通常、データベース プロバイダー (およびその他の拡張機能) によって使用されます。 通常、アプリケーション コードでは使用されません。

HasColumnName(PropertyBuilder, String)

リレーショナル データベースを対象とする場合にプロパティがマップされる列を構成します。

HasColumnOrder(PropertyBuilder, Nullable<Int32>)

プロパティがマップされる列の順序を構成します。

HasColumnType(PropertyBuilder, String)

リレーショナル データベースを対象とする場合にプロパティがマップされる列のデータ型を構成します。 これは、有効桁数、小数点以下桁数、長さなど、完全な型名である必要があります。

HasComment(PropertyBuilder, String)

列に適用するコメントを構成します

HasComputedColumnSql(PropertyBuilder)

リレーショナル データベースを対象とする場合に、計算列にマップするように プロパティを構成します。

HasComputedColumnSql(PropertyBuilder, String)

リレーショナル データベースを対象とする場合に、計算列にマップするように プロパティを構成します。

HasComputedColumnSql(PropertyBuilder, String, Nullable<Boolean>)

リレーショナル データベースを対象とする場合に、計算列にマップするように プロパティを構成します。

HasDefaultValue(PropertyBuilder)

リレーショナル データベースを対象とする場合にプロパティがマップされる列の既定値を構成します。

HasDefaultValue(PropertyBuilder, Object)

リレーショナル データベースを対象とする場合にプロパティがマップされる列の既定値を構成します。

HasDefaultValueSql(PropertyBuilder)

リレーショナル データベースを対象とする場合にプロパティがマップされる列の既定値の式を構成します。

HasDefaultValueSql(PropertyBuilder, String)

リレーショナル データベースを対象とする場合にプロパティがマップされる列の既定値の式を構成します。

HasJsonPropertyName(PropertyBuilder, String)

エンティティ プロパティ名を使用するのではなく、JSON 列にマップされたエンティティのプロパティを構成し、エンティティ プロパティを特定の JSON プロパティにマッピングします。

IsFixedLength(PropertyBuilder, Boolean)

文字列などの固定長データのみを格納できるプロパティを構成します。

UseCollation(PropertyBuilder, String)

指定した照合順序を使用するように プロパティを構成します。 データベース列は指定された照合順序で作成され、照合順序に依存するすべての操作で暗黙的に使用されます。

ForSqliteHasDimension(PropertyBuilder, Ordinates)

SQLite を対象とする場合にプロパティがマップされる列のディメンションを構成します。

ForSqliteHasDimension(PropertyBuilder, Ordinates)
互換性のために残されています。.

SQLite を対象とする場合にプロパティがマップされる列のディメンションを構成します。

HasGeometricDimension(PropertyBuilder, Ordinates)

SQLite を対象とする場合にプロパティがマップされる列のディメンションを構成します。

ForSqliteHasColumnName(PropertyBuilder, String)

SQLite を対象とする場合にプロパティがマップされる列を構成します。

ForSqliteHasColumnType(PropertyBuilder, String)

SQLite を対象とする場合にプロパティがマップされる列のデータ型を構成します。

ForSqliteHasDefaultValue(PropertyBuilder, Object)

SQLite を対象とする場合にプロパティがマップされる列の既定値を構成します。

ForSqliteHasDefaultValueSql(PropertyBuilder, String)

SQLite を対象とする場合にプロパティがマップされる列の既定値の式を構成します。

ForSqliteHasSrid(PropertyBuilder, Int32)
互換性のために残されています。.

SQLite を対象とする場合にプロパティがマップされる列の SRID を構成します。

HasSrid(PropertyBuilder, Int32)

SQLite を対象とする場合にプロパティがマップされる列の SRID を構成します。

ForSqlServerHasColumnName(PropertyBuilder, String)

SQL Serverを対象とする場合にプロパティがマップされる列を構成します。

ForSqlServerHasColumnType(PropertyBuilder, String)

SQL Serverを対象とする場合にプロパティがマップされる列のデータ型を構成します。 これは、有効桁数、小数点以下桁数、長さなど、完全な型名である必要があります。

ForSqlServerHasComputedColumnSql(PropertyBuilder, String)

SQL Serverを対象とする場合に、計算列にマップするように プロパティを構成します。

ForSqlServerHasDefaultValue(PropertyBuilder, Object)

SQL Serverを対象とする場合にプロパティがマップされる列の既定値を構成します。

ForSqlServerHasDefaultValueSql(PropertyBuilder, String)

SQL Serverを対象とする場合にプロパティがマップされる列の既定値の式を構成します。

ForSqlServerUseSequenceHiLo(PropertyBuilder, String, String)
互換性のために残されています。.

SQL Serverを対象とする場合に、シーケンスベースの hi-lo パターンを使用して新しいエンティティの値を生成するように key プロパティを構成します。 このメソッドは、 プロパティを に OnAdd設定します。

IsSparse(PropertyBuilder, Boolean)

SQL Serverをターゲットにするときに、プロパティの列をスパースとして作成するかどうかを構成します。

UseHiLo(PropertyBuilder, String, String)

SQL Serverをターゲットにするときに、シーケンスベースの hi-lo パターンを使用して新しいエンティティの値を生成するように key プロパティを構成します。 このメソッドは、 プロパティを に OnAdd設定します。

UseIdentityColumn(PropertyBuilder, Int32, Int32)

SQL Serverをターゲットにするときに、SQL Server IDENTITY 機能を使用して新しいエンティティの値を生成するようにキー プロパティを構成します。 このメソッドは、 プロパティを に OnAdd設定します。

UseIdentityColumn(PropertyBuilder, Int64, Int32)

SQL Serverをターゲットにするときに、SQL Server IDENTITY 機能を使用して新しいエンティティの値を生成するようにキー プロパティを構成します。 このメソッドは、 プロパティを に OnAdd設定します。

UseSequence(PropertyBuilder, String, String)

SQL Serverを対象とする場合に、シーケンスベースのキー値生成パターンを使用して新しいエンティティの値を生成するように key プロパティを構成します。 このメソッドは、 プロパティを に OnAdd設定します。

UseSqlServerIdentityColumn(PropertyBuilder)

SQL Serverをターゲットにするときに、SQL Server IDENTITY 機能を使用して新しいエンティティの値を生成するようにキー プロパティを構成します。 このメソッドは、 プロパティを に OnAdd設定します。

UseSqlServerIdentityColumn(PropertyBuilder, Int32, Int32)
互換性のために残されています。.

SQL Serverをターゲットにするときに、SQL Server IDENTITY 機能を使用して新しいエンティティの値を生成するようにキー プロパティを構成します。 このメソッドは、 プロパティを に OnAdd設定します。

適用対象