DbModelBuilder クラス
[このページは、Entity Framework 6 に関するページです。最新バージョンは、'Entity Framework' NuGet パッケージとして入手できます。Entity Framework の詳細については、msdn.com/data/ef を参照してください。]
DbModelBuilder は、データベース スキーマに CLR クラスをマップするために使用します。 コード主体で Entity Data Model (EDM) モデルをビルドする方法が "Code First" です。
継承階層
System.Object
System.Data.Entity.DbModelBuilder
名前空間: System.Data.Entity
アセンブリ: EntityFramework (EntityFramework.dll 内)
構文
'宣言
Public Class DbModelBuilder
'使用
Dim instance As DbModelBuilder
public class DbModelBuilder
public ref class DbModelBuilder
type DbModelBuilder = class end
public class DbModelBuilder
DbModelBuilder 型で公開されるメンバーは以下のとおりです。
コンストラクター
名前 | 説明 | |
---|---|---|
DbModelBuilder() | DbModelBuilder クラスの新しいインスタンスを初期化します。初期モデルを検出するプロセスでは、使用しているコンピューターにインストールされた最新バージョンの Entity Framework に含まれている一連の規約が使用されます。 | |
DbModelBuilder(DbModelBuilderVersion) | 特定のセットの規約を使用して初期モデルを検出する DbModelBuilder クラスの新しいインスタンスを初期化します。 |
上揃え
プロパティ
名前 | 説明 | |
---|---|---|
Configurations | この DbModelBuilder の ConfigurationRegistrar を取得します。レジストラーを使用すると、派生エンティティ型と派生複合型の構成をこのビルダーに登録できます。 | |
Conventions | 規約を処理するこの DbModelBuilder の設定にアクセスします。 |
上揃え
メソッド
名前 | 説明 | |
---|---|---|
Build(DbConnection) | このビルダーを使用して実行された構成に基づいて DbModel を作成します。どのデータベース プロバイダーを使用するかは、生成されるモデルのデータベース層に影響を与えるので、接続を使用してデータベース プロバイダーを特定します。 | |
Build(DbProviderInfo) | このビルダーを使用して実行された構成に基づいて DbModel を作成します。プロバイダー情報は生成されるモデルのデータベース層に影響を与えるので指定する必要があります。SqlClient では、不変名は 'System.Data.SqlClient' で、マニフェスト トークンはバージョン年 (たとえば、'2005'、'2008' など) です。 | |
ComplexType<TComplexType> | 型を複合型としてモデルに登録し、複合型の構成に使用できるオブジェクトを返します。このメソッドを同じ型に対して複数回呼び出し、複数行の構成を実行することができます。 | |
Entity<TEntityType> | エンティティ型をモデルの一部として登録し、エンティティの構成に使用できるオブジェクトを返します。このメソッドを同じエンティティに対して複数回呼び出し、複数行の構成を実行することができます。 | |
Equals | DbModelBuilder が指定したオブジェクトと等しいかどうかを指定します。 (Object.Equals(Object) をオーバーライドします。) | |
Finalize | (Object から継承されます。) | |
GetHashCode | 現在のインスタンスのハッシュ コードを返します。 (Object.GetHashCode() をオーバーライドします。) | |
GetType | 現在のインスタンスの Type を取得します。 | |
HasDefaultSchema | 既定のデータベース スキーマの名前を構成します。この既定のデータベース スキーマの名前は、明示的に構成されたスキーマの名前を持たないデータベース オブジェクトに対して使用されます。 | |
Ignore(IEnumerable<Type>) | モデルから指定した型を除外します。初期モデルの検出時に規約によって追加された型をモデルから除外するために使用します。 | |
Ignore<T>() | モデルから型を除外します。初期モデルの検出時に規約によって追加された型をモデルから除外するために使用します。 | |
MemberwiseClone | (Object から継承されます。) | |
Properties() | モデル内のすべてのプロパティに適用される簡易規約の構成を開始します。 | |
Properties<T>() | モデル内の指定した型のすべてのプリミティブ プロパティに適用される簡易規約の構成を開始します。 | |
RegisterEntityType | モデルの一部としてエンティティ型を登録します。 | |
ToString | DbModelBuilder の文字列形式を返します。 (Object.ToString() をオーバーライドします。) | |
Types() | モデル内のすべてのエンティティと複合型に適用される簡易規約の構成を開始します。 | |
Types<T>() | ジェネリック引数で指定されている型から継承するかその型を実装する、モデル内のすべてのエンティティと複合型に適用される簡易規約の構成を開始します。このメソッドは、モデルの一部として型を登録しません。 |
上揃え
解説
DbModelBuilder は、通常、OnModelCreating(DbModelBuilder) をオーバーライドしてモデルを構成するために使用します。 また DbContext に依存しない DbModelBuilder を使用してモデルをビルドした後、DbContext または ObjectContext を構築することもできます。 しかし、ワークフローがより直観的で、作成したモデルのキャッシュなど一般的なタスクを処理する場合は、DbContext で OnModelCreating を使用することをお勧めします。 モデルを形成する型は、DbModelBuilder に登録されています。またクラスにデータ注釈を適用したり、Fluent スタイルの DbModelBuilder API を使用することで、必要に応じた構成を行うことができます。 Build メソッドが呼び出されると、初期モデルを検出するために一連の規約が実行されます。 これらの規約は、主キーなどのモデルの要素を自動的に検出し、クラスに指定されたデータ注釈も処理します。 最後に、DbModelBuilder API を使用して実行された構成が適用されます。 DbModelBuilder API を使用して行った構成はデータ注釈より優先され、データ注釈は既定の規約より優先されます。
スレッド セーフ
この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。