IModel インターフェイス

定義

エンティティの形状、エンティティ間のリレーションシップ、およびエンティティがデータベースにマップされる方法に関するメタデータ。 モデルは、通常、派生 の メソッドを OnModelCreating(ModelBuilder) オーバーライドすることによって作成されます DbContext

public interface IModel : Microsoft.EntityFrameworkCore.Infrastructure.IAnnotatable
public interface IModel : Microsoft.EntityFrameworkCore.Infrastructure.IAnnotatable, Microsoft.EntityFrameworkCore.Metadata.IReadOnlyModel
type IModel = interface
    interface IAnnotatable
type IModel = interface
    interface IReadOnlyModel
    interface IReadOnlyAnnotatable
    interface IAnnotatable
Public Interface IModel
Implements IAnnotatable
Public Interface IModel
Implements IAnnotatable, IReadOnlyModel
派生
実装

注釈

サービスの有効期間は です Scoped。 これは、各 DbContext インスタンスがこのサービスの独自のインスタンスを使用することを意味します。 この実装は、任意の有効期間で登録されている他のサービスに依存する場合があります。 実装はスレッド セーフである必要はありません。

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

プロパティ

Item[String]

指定した名前の注釈の値を取得し、存在しない場合は を null 返します。

(継承元 IReadOnlyAnnotatable)
ModelDependencies

ランタイム サービスの依存関係。

ModelId

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

(継承元 IReadOnlyModel)

メソッド

AddRuntimeAnnotation(String, Object)

このオブジェクトにランタイム注釈を追加します。 指定した名前の注釈が既に存在する場合は をスローします。

(継承元 IAnnotatable)
AnnotationsToDebugString(Int32)

オブジェクトで宣言されているすべての注釈のデバッグ文字列を取得します。

(継承元 IReadOnlyAnnotatable)
FindAnnotation(String)

指定された名前の注釈を取得し、存在しない場合は を null 返します。

(継承元 IReadOnlyAnnotatable)
FindEntityType(String)

指定した名前のエンティティを取得します。 指定された名前の null エンティティ型が見つからないか、指定された CLR 型が共有型エンティティ型で使用されているか、エンティティ型に定義ナビゲーションがある場合は を返します。

FindEntityType(String, String, IEntityType)

ナビゲーション名と定義エンティティ型を定義する、指定された名前のエンティティ型を取得します。 一致する null エンティティ型が見つからない場合は を返します。

FindEntityType(String, String, IReadOnlyEntityType)

ナビゲーション名と定義エンティティ型を定義する、指定されたベース名のエンティティ型を取得します。 一致する null エンティティ型が見つからない場合は を返します。

(継承元 IReadOnlyModel)
FindEntityType(Type)

指定したエンティティ クラスをマップするエンティティを取得します。 指定された null CLR 型を持つエンティティ型が見つからないか、指定された CLR 型が共有型エンティティ型で使用されている場合、またはエンティティ型に定義ナビゲーションがある場合は を返します。

FindEntityType(Type, String, IEntityType)

ナビゲーション名と定義エンティティ型を定義する、指定された名前のエンティティ型を取得します。 一致する null エンティティ型が見つからない場合は を返します。

FindEntityType(Type, String, IReadOnlyEntityType)

ナビゲーション名と定義エンティティ型を定義する、指定された型のエンティティ型を取得します。 一致する null エンティティ型が見つからない場合は を返します。

(継承元 IReadOnlyModel)
FindEntityTypes(Type)

指定した型に一致するエンティティ型を取得します。

FindLeastDerivedEntityTypes(Type, Func<IReadOnlyEntityType,Boolean>)

指定された から最小派生型に対応するエンティティ型を返します。

FindRuntimeAnnotation(String)

指定された名前のランタイム注釈を取得し、存在しない場合は を null 返します。

(継承元 IAnnotatable)
FindRuntimeAnnotationValue(String)

指定された名前のランタイム注釈の値を取得し、存在しない場合は を null 返します。

(継承元 IAnnotatable)
FindRuntimeEntityType(Type)

指定されたエンティティ クラスをマップするエンティティを取得します。ここで、 クラスは実際のエンティティ型から派生したプロキシである可能性があります。 指定された null CLR 型を持つエンティティ型が見つからないか、指定された CLR 型が共有型エンティティ型で使用されている場合、またはエンティティ型に定義ナビゲーションがある場合は を返します。

FindTypeMappingConfiguration(Type)

特定のスカラー Typeの規則前の構成を検索します。

GetAnnotation(String)

指定された名前の注釈を取得し、存在しない場合は をスローします。

(継承元 IReadOnlyAnnotatable)
GetAnnotations()

現在のオブジェクトのすべての注釈を取得します。

(継承元 IReadOnlyAnnotatable)
GetChangeTrackingStrategy()

モデル内のエンティティに使用されている既定の変更追跡戦略を取得します。 この戦略は、エンティティ型のインスタンスのプロパティに対する変更をコンテキストで検出する方法を示します。

(継承元 IReadOnlyModel)
GetEntityTypes()

モデルで定義されているすべてのエンティティ型を取得します。

GetModelDependencies()

ランタイム サービスの依存関係を取得します。

GetOrAddRuntimeAnnotationValue<TValue,TArg>(String, Func<TArg,TValue>, TArg)

指定された名前を持つランタイム注釈の値を取得し、存在しない場合は追加します。

(継承元 IAnnotatable)
GetProductVersion()

このモデルのビルドに使用される EF Core アセンブリ バージョンを取得します。

(継承元 IReadOnlyModel)
GetPropertyAccessMode()

このモデルの PropertyAccessMode エンティティ型のプロパティに使用されている を取得します。

(継承元 IReadOnlyModel)
GetRuntimeAnnotations()

現在のオブジェクトのすべてのランタイム注釈を取得します。

(継承元 IAnnotatable)
GetTypeMappingConfigurations()

規則前のすべての構成を取得します。

IsIndexerMethod(MethodInfo)

指定 MethodInfo された がインデクサー アクセスを表すかどうかを示す値を取得します。

IsShared(Type)

CLR 型がモデル内の共有型エンティティによって使用されるかどうかを示す値を取得します。

(継承元 IReadOnlyModel)
RemoveRuntimeAnnotation(String)

このオブジェクトから指定されたランタイム注釈を削除します。

(継承元 IAnnotatable)
SetRuntimeAnnotation(String, Object)

指定したキーの下に格納されているランタイム注釈を設定します。 指定した名前の注釈が既に存在する場合は、既存の注釈を上書きします。

(継承元 IAnnotatable)
ToDebugString(MetadataDebugStringOptions, Int32)

指定されたメタデータの人間が判読できる表現を作成します。

警告: 返される文字列の形式に依存しないでください。 デバッグ専用に設計されており、リリース間で任意に変更される可能性があります。

(継承元 IReadOnlyModel)

拡張メソッド

GetDefaultContainer(IModel)

既定のコンテナー名を返します。

GetDefaultContainer(IReadOnlyModel)

既定のコンテナー名を返します。

GetThroughput(IReadOnlyModel)

データベース スコープでプロビジョニングされたスループットを返します。

AnnotationsToDebugString(IAnnotatable, Int32)

オブジェクトで宣言されているすべての注釈のデバッグ文字列を取得します。

GetAnnotation(IAnnotatable, String)

指定された名前の注釈を取得し、存在しない場合は をスローします。

GetRelationalDependencies(IModel, String)

リレーショナル サービスの依存関係を返します。

Scaffolding(IModel)

エンティティの形状、エンティティ間のリレーションシップ、およびエンティティがデータベースにマップされる方法に関するメタデータ。 モデルは、通常、派生 の メソッドを OnModelCreating(ModelBuilder) オーバーライドすることによって作成されます DbContext

FindEntityType(IModel, Type)
互換性のために残されています。.

指定したエンティティ クラスをマップするエンティティを取得します。 指定された null CLR 型を持つエンティティ型が見つからないか、指定された CLR 型が共有型エンティティ型で使用されている場合、またはエンティティ型に定義ナビゲーションがある場合は を返します。

FindEntityType(IModel, Type, String, IEntityType)

ナビゲーション名と定義エンティティ型を定義する、指定された型のエンティティ型を取得します。 一致する null エンティティ型が見つからない場合は を返します。

FindRuntimeEntityType(IModel, Type)

指定されたエンティティ クラスをマップするエンティティを取得します。ここで、 クラスは実際のエンティティ型から派生したプロキシである可能性があります。 指定された null CLR 型を持つエンティティ型が見つからないか、指定された CLR 型が共有型エンティティ型で使用されている場合、またはエンティティ型に定義ナビゲーションがある場合は を返します。

GetChangeTrackingStrategy(IModel)

モデル内のエンティティに使用されている既定の変更追跡戦略を取得します。 この戦略は、エンティティ型のインスタンスのプロパティに対する変更をコンテキストで検出する方法を示します。

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

指定した名前に一致するエンティティ型を取得します。

GetEntityTypes(IModel, Type)
互換性のために残されています。.

指定した型に一致するエンティティ型を取得します。

GetProductVersion(IModel)

このモデルのビルドに使用される EF Core アセンブリ バージョンを取得します

GetPropertyAccessMode(IModel)

このモデルの PropertyAccessMode エンティティ型のプロパティに使用されている を取得します。

個々のエンティティ型がこのアクセス モードをオーバーライドでき、エンティティ型の個々のプロパティがエンティティ型に設定されているアクセス モードをオーバーライドできることに注意してください。 ここで返される値は、オーバーライドが指定されていないすべてのプロパティに使用されます。

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

モデルに、ナビゲーションを定義する対応するエンティティ型が含まれているかどうかを示す値を取得します。

HasEntityTypeWithDefiningNavigation(IModel, Type)
互換性のために残されています。.

モデルに、ナビゲーションを定義する対応するエンティティ型が含まれているかどうかを示す値を取得します。

IsIndexerMethod(IModel, MethodInfo)

指定された MethodInfo がインデクサー アクセスを再調整するかどうかを示す値を取得します。

IsShared(IModel, Type)

CLR 型がモデル内の共有型エンティティによって使用されるかどうかを取得します。

ToDebugString(IModel, MetadataDebugStringOptions, Int32)

指定されたメタデータの人間が判読できる表現を作成します。

警告: 返される文字列の形式に依存しないでください。 デバッグ専用に設計されており、リリース間で任意に変更される可能性があります。

Relational(IModel)

モデルのリレーショナル データベース固有のメタデータを取得します。

FindDbFunction(IModel, MethodInfo)

指定 MethodInfoした によって表されるメソッドにマップされる関数を検索します。

FindDbFunction(IModel, String)

指定した名前で表されるメソッドにマップされている関数を検索します。

FindDbFunction(IReadOnlyModel, MethodInfo)

指定 MethodInfoした によって表されるメソッドにマップされる関数を検索します。

FindDbFunction(IReadOnlyModel, String)

指定した名前で表されるメソッドにマップされている関数を検索します。

FindSequence(IModel, String, String)

指定した名前のシーケンスを検索します。

FindSequence(IReadOnlyModel, String, String)

指定した名前のシーケンスを検索します。

GetCollation(IModel)

データベースの照合順序を返します。

GetCollation(IReadOnlyModel)

データベースの照合順序を返します。

GetDbFunctions(IModel)

モデルに含まれるすべての関数を返します。

GetDbFunctions(IReadOnlyModel)

モデルに含まれるすべての関数を返します。

GetDefaultSchema(IModel)

モデルに使用する既定のスキーマを返します。何 null も設定されていない場合は を返します。

GetDefaultSchema(IReadOnlyModel)

モデルに使用する既定のスキーマを返します。何 null も設定されていない場合は を返します。

GetMaxIdentifierLength(IModel)

ストア識別子に使用できる最大長を返します。

GetMaxIdentifierLength(IReadOnlyModel)

ストア識別子に使用できる最大長を返します。

GetRelationalModel(IModel)

データベース モデルを返します。

GetSequences(IModel)

モデルに含まれるすべてのシーケンスを返します。

GetSequences(IReadOnlyModel)

モデルに含まれるすべてのシーケンスを返します。

GetFluentApiCalls(IModel, IAnnotationCodeGenerator)

モデルを構成するための fluent API 呼び出しを取得します。

Sqlite(IModel)

モデルの SQLite 固有のメタデータを取得します。

SqlServer(IModel)

モデルのSQL Server特定のメタデータを取得します。

GetDatabaseMaxSize(IModel)

データベースの最大サイズを返します。

GetDatabaseMaxSize(IReadOnlyModel)

データベースの最大サイズを返します。

GetHiLoSequenceName(IModel)

既定の hi-lo シーケンスに使用する名前を返します。

GetHiLoSequenceName(IReadOnlyModel)

既定の hi-lo シーケンスに使用する名前を返します。

GetHiLoSequenceSchema(IModel)

既定の hi-lo シーケンスに使用するスキーマを返します。 UseHiLo(PropertyBuilder, String, String)

GetHiLoSequenceSchema(IReadOnlyModel)

既定の hi-lo シーケンスに使用するスキーマを返します。 UseHiLo(PropertyBuilder, String, String)

GetIdentityIncrement(IModel)

既定の ID インクリメントを返します。

GetIdentityIncrement(IReadOnlyModel)

既定の ID インクリメントを返します。

GetIdentitySeed(IModel)

既定の ID シードを返します。

GetIdentitySeed(IReadOnlyModel)

既定の ID シードを返します。

GetPerformanceLevelSql(IModel)

データベースのパフォーマンス レベルを返します。

GetPerformanceLevelSql(IReadOnlyModel)

データベースのパフォーマンス レベルを返します。

GetSequenceNameSuffix(IReadOnlyModel)

自動的に作成されるシーケンスの名前に追加するサフィックスを返します。

GetSequenceSchema(IReadOnlyModel)

既定値の生成シーケンスに使用するスキーマを返します。 UseSequence(PropertyBuilder, String, String)

GetServiceTierSql(IModel)

データベースのサービス レベルを返します。

GetServiceTierSql(IReadOnlyModel)

データベースのサービス レベルを返します。

GetValueGenerationStrategy(IModel)

プロパティに SqlServerValueGenerationStrategy 戦略が明示的に設定されていない限り、モデル内のキーのプロパティに使用する を返します。

GetValueGenerationStrategy(IReadOnlyModel)

プロパティに SqlServerValueGenerationStrategy 戦略が明示的に設定されていない限り、モデル内のキーのプロパティに使用する を返します。

適用対象