Sprache

IModel Schnittstelle

Definition

Metadaten über die Form von Entitäten, die Beziehungen zwischen ihnen und ihre Zuordnung zur Datenbank. Ein Modell wird in der Regel durch Überschreiben der OnModelCreating(ModelBuilder) Methode für eine abgeleitete DbContextErstellt.

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
Abgeleitet
Implementiert

Hinweise

Die Dienstlebensdauer lautet Scoped. Dies bedeutet, dass jede DbContext Instanz eine eigene Instanz dieses Diensts verwendet. Die Implementierung kann von anderen Diensten abhängen, die mit jeder Lebensdauer registriert sind. Die Implementierung muss nicht threadsicher sein.

Weitere Informationen und Beispiele finden Sie unter Modellieren von Entitätstypen und Beziehungen .

Eigenschaften

Name Beschreibung
Item[String]

Ruft den Wert der Anmerkung mit dem angegebenen Namen ab, die zurückgegeben wird null , wenn sie nicht vorhanden ist.

(Geerbt von IReadOnlyAnnotatable)
ModelDependencies

Die Laufzeitdienstabhängigkeiten.

ModelId

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Sie kann ohne Vorherige Ankündigung geändert oder entfernt werden. Sie sollten sie nur direkt in Ihrem Code mit äußerster Vorsicht verwenden und wissen, dass dies zu Anwendungsfehlern bei der Aktualisierung auf eine neue Entity Framework Core-Version führen kann.

(Geerbt von IReadOnlyModel)

Methoden

Name Beschreibung
AddRuntimeAnnotation(String, Object)

Fügt diesem Objekt eine Laufzeitanmerkung hinzu. Löst aus, wenn bereits eine Anmerkung mit dem angegebenen Namen vorhanden ist.

(Geerbt von IAnnotatable)
AnnotationsToDebugString(Int32)

Ruft die Debugzeichenfolge für alle Anmerkungen ab, die für das Objekt deklariert sind.

(Geerbt von IReadOnlyAnnotatable)
FindAnnotation(String)

Ruft die Anmerkung mit dem angegebenen Namen ab, die zurückgegeben wird null , wenn sie nicht vorhanden ist.

(Geerbt von IReadOnlyAnnotatable)
FindEntityType(String, String, IEntityType)

Ruft den Entitätstyp für den angegebenen Namen ab, definiert den Navigationsnamen und den definierenden Entitätstyp. Gibt zurück null , wenn kein übereinstimmener Entitätstyp gefunden wird.

FindEntityType(String, String, IReadOnlyEntityType)

Ruft den Entitätstyp für den angegebenen Basisnamen ab, definiert den Navigationsnamen und den definierenden Entitätstyp. Gibt zurück null , wenn kein übereinstimmener Entitätstyp gefunden wird.

(Geerbt von IReadOnlyModel)
FindEntityType(String)

Ruft die Entität mit dem angegebenen Namen ab. Gibt zurück null , wenn kein Entitätstyp mit dem angegebenen Namen gefunden wird oder der angegebene CLR-Typ vom Entitätstyp gemeinsam verwendet wird oder der Entitätstyp über eine definierende Navigation verfügt.

FindEntityType(Type, String, IEntityType)

Ruft den Entitätstyp für den angegebenen Namen ab, definiert den Navigationsnamen und den definierenden Entitätstyp. Gibt zurück null , wenn kein übereinstimmener Entitätstyp gefunden wird.

FindEntityType(Type, String, IReadOnlyEntityType)

Ruft den Entitätstyp für den angegebenen Typ ab, definiert den Navigationsnamen und den definierenden Entitätstyp. Gibt zurück null , wenn kein übereinstimmener Entitätstyp gefunden wird.

(Geerbt von IReadOnlyModel)
FindEntityType(Type)

Ruft die Entität ab, die die angegebene Entitätsklasse zuordnet. Gibt zurück null , wenn kein Entitätstyp mit dem angegebenen CLR-Typ gefunden wird oder der angegebene CLR-Typ vom Entitätstyp gemeinsam verwendet wird oder der Entitätstyp über eine definierende Navigation verfügt.

FindEntityTypes(Type)

Ruft die Entitätstypen ab, die dem angegebenen Typ entsprechen.

FindLeastDerivedEntityTypes(Type, Func<IReadOnlyEntityType,Boolean>)

Gibt die Entitätstypen zurück, die den am wenigsten abgeleiteten Typen des angegebenen Typs entsprechen.

FindRuntimeAnnotation(String)

Ruft die Laufzeitanmerkung mit dem angegebenen Namen ab, die zurückgegeben wird null , wenn sie nicht vorhanden ist.

(Geerbt von IAnnotatable)
FindRuntimeAnnotationValue(String)

Ruft den Wert der Laufzeitanmerkung mit dem angegebenen Namen ab, der zurückgegeben wird null , wenn sie nicht vorhanden ist.

(Geerbt von IAnnotatable)
FindRuntimeEntityType(Type)

Ruft die Entität ab, die die angegebene Entitätsklasse zuordnet, wobei die Klasse ein Proxy sein kann, der vom tatsächlichen Entitätstyp abgeleitet ist. Gibt zurück null , wenn kein Entitätstyp mit dem angegebenen CLR-Typ gefunden wird oder der angegebene CLR-Typ vom Entitätstyp gemeinsam verwendet wird oder der Entitätstyp über eine definierende Navigation verfügt.

FindTypeMappingConfiguration(Type)

Sucht die Vorkonventionskonfiguration für einen bestimmten Skalar Type.

GetAnnotation(String)

Ruft die Anmerkung mit dem angegebenen Namen ab, die ausgelöst wird, wenn sie nicht vorhanden ist.

(Geerbt von IReadOnlyAnnotatable)
GetAnnotations()

Ruft alle Anmerkungen für das aktuelle Objekt ab.

(Geerbt von IReadOnlyAnnotatable)
GetChangeTrackingStrategy()

Ruft die Standardmäßige Änderungsnachverfolgungsstrategie ab, die für Entitäten im Modell verwendet wird. Diese Strategie gibt an, wie der Kontext Änderungen an Eigenschaften für eine Instanz eines Entitätstyps erkennt.

(Geerbt von IReadOnlyModel)
GetEmbeddedDiscriminatorName()

Ruft den Namen ab, der für Diskriminatoreigenschaften verwendet werden soll, die in JSON-Dokumenten eingebettet sind. Der Standardwert ist "$type".

(Geerbt von IReadOnlyModel)
GetEntityTypes()

Ruft alle Entitätstypen ab, die im Modell definiert sind.

GetModelDependencies()

Ruft die Laufzeitdienstabhängigkeiten ab.

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

Ruft den Wert der Laufzeitanmerkung mit dem angegebenen Namen ab, und fügt ihn hinzu, wenn keine vorhanden ist.

(Geerbt von IAnnotatable)
GetProductVersion()

Ruft die EF Core-Assemblyversion ab, die zum Erstellen dieses Modells verwendet wird.

(Geerbt von IReadOnlyModel)
GetPropertyAccessMode()

Ruft ab, das PropertyAccessMode für Eigenschaften von Entitätstypen in diesem Modell verwendet wird.

(Geerbt von IReadOnlyModel)
GetRuntimeAnnotations()

Ruft alle Laufzeitanmerkungen für das aktuelle Objekt ab.

(Geerbt von IAnnotatable)
GetTypeMappingConfigurations()

Ruft alle Konfigurationen vor der Konvention ab.

IsIndexerMethod(MethodInfo)

Ruft einen Wert ab, der angibt, ob das angegebene MethodInfo Element einen Indexerzugriff darstellt.

IsShared(Type)

Ruft einen Wert ab, der angibt, ob der CLR-Typ von freigegebenen Typentitäten im Modell verwendet wird.

(Geerbt von IReadOnlyModel)
RemoveRuntimeAnnotation(String)

Entfernt die angegebene Laufzeitanmerkung aus diesem Objekt.

(Geerbt von IAnnotatable)
SetRuntimeAnnotation(String, Object)

Legt die unter dem angegebenen Schlüssel gespeicherte Laufzeitanmerkung fest. Überschreibt die vorhandene Anmerkung, wenn bereits eine Anmerkung mit dem angegebenen Namen vorhanden ist.

(Geerbt von IAnnotatable)
ToDebugString(MetadataDebugStringOptions, Int32)

Erstellt eine lesbare Darstellung der angegebenen Metadaten.

Warnung: Verlassen Sie sich nicht auf das Format der zurückgegebenen Zeichenfolge. Sie wurde nur für das Debuggen entwickelt und kann sich willkürlich zwischen Versionen ändern.

(Geerbt von IReadOnlyModel)

Erweiterungsmethoden

Name Beschreibung
AnnotationsToDebugString(IAnnotatable, Int32)

Ruft die Debugzeichenfolge für alle Anmerkungen ab, die für das Objekt deklariert sind.

AreNamedDefaultConstraintsUsed(IReadOnlyModel)

Gibt den Wert zurück, der angibt, ob benannte Standardeinschränkungen verwendet werden sollen.

FindDbFunction(IModel, MethodInfo)

Sucht eine Funktion, die der durch die angegebene Methode MethodInfodargestellten Methode zugeordnet ist.

FindDbFunction(IModel, String)

Sucht eine Funktion, die der durch den angegebenen Namen dargestellten Methode zugeordnet ist.

FindDbFunction(IReadOnlyModel, MethodInfo)

Sucht eine Funktion, die der durch die angegebene Methode MethodInfodargestellten Methode zugeordnet ist.

FindDbFunction(IReadOnlyModel, String)

Sucht eine Funktion, die der durch den angegebenen Namen dargestellten Methode zugeordnet ist.

FindEntityType(IModel, Type, String, IEntityType)

Ruft den Entitätstyp für den angegebenen Typ ab, definiert den Navigationsnamen und den definierenden Entitätstyp. Gibt zurück null , wenn kein übereinstimmener Entitätstyp gefunden wird.

FindEntityType(IModel, Type)
Veraltet.

Ruft die Entität ab, die die angegebene Entitätsklasse zuordnet. Gibt zurück null , wenn kein Entitätstyp mit dem angegebenen CLR-Typ gefunden wird oder der angegebene CLR-Typ vom Entitätstyp gemeinsam verwendet wird oder der Entitätstyp über eine definierende Navigation verfügt.

FindFullTextCatalog(IModel, String)

Sucht einen Volltextkatalog im Modell oder gibt zurück null , wenn er nicht gefunden wurde.

FindFullTextCatalog(IReadOnlyModel, String)

Sucht einen Volltextkatalog im Modell oder gibt zurück null , wenn er nicht gefunden wurde.

FindRuntimeEntityType(IModel, Type)

Ruft die Entität ab, die die angegebene Entitätsklasse zuordnet, wobei die Klasse ein Proxy sein kann, der vom tatsächlichen Entitätstyp abgeleitet ist. Gibt zurück null , wenn kein Entitätstyp mit dem angegebenen CLR-Typ gefunden wird oder der angegebene CLR-Typ vom Entitätstyp gemeinsam verwendet wird oder der Entitätstyp über eine definierende Navigation verfügt.

FindSequence(IModel, String, String)

Sucht eine Sequenz mit dem angegebenen Namen.

FindSequence(IReadOnlyModel, String, String)

Sucht eine Sequenz mit dem angegebenen Namen.

GetAnnotation(IAnnotatable, String)

Ruft die Anmerkung mit dem angegebenen Namen ab, die ausgelöst wird, wenn sie nicht vorhanden ist.

GetChangeTrackingStrategy(IModel)

Ruft die Standardmäßige Änderungsnachverfolgungsstrategie ab, die für Entitäten im Modell verwendet wird. Diese Strategie gibt an, wie der Kontext Änderungen an Eigenschaften für eine Instanz eines Entitätstyps erkennt.

GetCollation(IModel)

Gibt die Datenbanksortierung zurück.

GetCollation(IReadOnlyModel)

Gibt die Datenbanksortierung zurück.

GetDatabaseMaxSize(IModel)

Gibt die maximale Größe der Datenbank zurück.

GetDatabaseMaxSize(IReadOnlyModel)

Gibt die maximale Größe der Datenbank zurück.

GetDbFunctions(IModel)

Gibt alle im Modell enthaltenen Funktionen zurück.

GetDbFunctions(IReadOnlyModel)

Gibt alle im Modell enthaltenen Funktionen zurück.

GetDefaultContainer(IModel)

Gibt den Standardcontainernamen zurück.

GetDefaultContainer(IReadOnlyModel)

Gibt den Standardcontainernamen zurück.

GetDefaultFullTextSearchLanguage(IReadOnlyModel)

Gibt die Standardsprache für die Volltextsuche im Datenbankbereich zurück.

GetDefaultSchema(IModel)

Gibt das Standardschema zurück, das für das Modell verwendet werden soll, oder null wenn keine festgelegt wurde.

GetDefaultSchema(IReadOnlyModel)

Gibt das Standardschema zurück, das für das Modell verwendet werden soll, oder null wenn keine festgelegt wurde.

GetDiscriminatorInKey(IReadOnlyModel)

Gibt einen Wert zurück, der angibt, ob der Entitätstyp-Diskriminator im JSON-Wert "id" enthalten sein soll. Vor EF Core 9 war es immer enthalten. Ab EF Core 9 ist sie standardmäßig nicht enthalten.

GetEntityTypes(IModel, String)
Veraltet.

Ruft die Entitätstypen ab, die dem angegebenen Namen entsprechen.

GetEntityTypes(IModel, Type)
Veraltet.

Ruft die Entitätstypen ab, die dem angegebenen Typ entsprechen.

GetFluentApiCalls(IModel, IAnnotationCodeGenerator)

Ruft die Fluent-API-Aufrufe zum Konfigurieren eines Modells ab.

GetFullTextCatalogs(IModel)

Ruft alle im Modell definierten Volltextkataloge ab.

GetFullTextCatalogs(IReadOnlyModel)

Ruft alle im Modell definierten Volltextkataloge ab.

GetHasShadowIds(IReadOnlyModel)

Gibt einen Wert zurück, der angibt, ob die Einstellung für die Erstellung der Eigenschaft "__id" aus der aktuellen Konfigurationsquelle festgelegt werden kann.

GetHiLoSequenceName(IModel)

Gibt den Namen zurück, der für die Standardsequenz hi-lo verwendet werden soll.

GetHiLoSequenceName(IReadOnlyModel)

Gibt den Namen zurück, der für die Standardsequenz hi-lo verwendet werden soll.

GetHiLoSequenceSchema(IModel)

Gibt das Schema zurück, das für die Standardsequenz hi-lo verwendet werden soll. UseHiLo(PropertyBuilder, String, String)

GetHiLoSequenceSchema(IReadOnlyModel)

Gibt das Schema zurück, das für die Standardsequenz hi-lo verwendet werden soll. UseHiLo(PropertyBuilder, String, String)

GetIdentityIncrement(IModel)

Gibt den Standardidentitätsschritt zurück.

GetIdentityIncrement(IReadOnlyModel)

Gibt den Standardidentitätsschritt zurück.

GetIdentitySeed(IModel)

Gibt den Standardidentitäts-Seed zurück.

GetIdentitySeed(IReadOnlyModel)

Gibt den Standardidentitäts-Seed zurück.

GetMaxIdentifierLength(IModel)

Gibt die maximal zulässige Länge für Speicherbezeichner zurück.

GetMaxIdentifierLength(IReadOnlyModel)

Gibt die maximal zulässige Länge für Speicherbezeichner zurück.

GetPerformanceLevelSql(IModel)

Gibt die Leistungsstufe der Datenbank zurück.

GetPerformanceLevelSql(IReadOnlyModel)

Gibt die Leistungsstufe der Datenbank zurück.

GetProductVersion(IModel)

Ruft die EF Core-Assemblyversion ab, die zum Erstellen dieses Modells verwendet wird.

GetPropertyAccessMode(IModel)

Ruft ab, das PropertyAccessMode für Eigenschaften von Entitätstypen in diesem Modell verwendet wird.

Beachten Sie, dass einzelne Entitätstypen diesen Zugriffsmodus außer Kraft setzen können, und einzelne Eigenschaften von Entitätstypen können den zugriffsmodus außer Kraft setzen, der für den Entitätstyp festgelegt ist. Der hier zurückgegebene Wert wird für jede Eigenschaft verwendet, für die keine Außerkraftsetzung angegeben wurde.

GetRelationalDependencies(IModel, String)

Gibt die relationalen Dienstabhängigkeiten zurück.

GetRelationalModel(IModel)

Gibt das Datenbankmodell zurück.

GetSequenceNameSuffix(IReadOnlyModel)

Gibt das Suffix zurück, das an den Namen der automatisch erstellten Sequenzen angefügt werden soll.

GetSequences(IModel)

Gibt alle Sequenzen zurück, die im Modell enthalten sind.

GetSequences(IReadOnlyModel)

Gibt alle Sequenzen zurück, die im Modell enthalten sind.

GetSequenceSchema(IReadOnlyModel)

Gibt das Schema zurück, das für die Standardwertgenerierungssequenz verwendet werden soll. UseSequence(PropertyBuilder, String, String)

GetServiceTierSql(IModel)

Gibt die Dienstebene der Datenbank zurück.

GetServiceTierSql(IReadOnlyModel)

Gibt die Dienstebene der Datenbank zurück.

GetThroughput(IReadOnlyModel)

Gibt den bereitgestellten Durchsatz im Datenbankbereich zurück.

GetValueGenerationStrategy(IModel)

Gibt den Wert zurück, der SqlServerValueGenerationStrategy für Die Eigenschaften von Schlüsseln im Modell verwendet werden soll, es sei denn, die Eigenschaft hat eine explizit festgelegte Strategie.

GetValueGenerationStrategy(IReadOnlyModel)

Gibt den Wert zurück, der SqlServerValueGenerationStrategy für Die Eigenschaften von Schlüsseln im Modell verwendet werden soll, es sei denn, die Eigenschaft hat eine explizit festgelegte Strategie.

HasEntityTypeWithDefiningNavigation(IModel, String)
Veraltet.

Ruft einen Wert ab, der angibt, ob das Modell einen entsprechenden Entitätstyp mit einer definierenden Navigation enthält.

HasEntityTypeWithDefiningNavigation(IModel, Type)
Veraltet.

Ruft einen Wert ab, der angibt, ob das Modell einen entsprechenden Entitätstyp mit einer definierenden Navigation enthält.

IsIndexerMethod(IModel, MethodInfo)

Ruft einen Wert ab, der angibt, ob die angegebene MethodInfo einen Indexerzugriff zurückgibt.

IsShared(IModel, Type)

Ruft ab, ob der CLR-Typ von freigegebenen Typentitäten im Modell verwendet wird.

Relational(IModel)

Ruft die relationalen Datenbankspezifischen Metadaten für ein Modell ab.

Scaffolding(IModel)

Metadaten über die Form von Entitäten, die Beziehungen zwischen ihnen und ihre Zuordnung zur Datenbank. Ein Modell wird in der Regel durch Überschreiben der OnModelCreating(ModelBuilder) Methode für eine abgeleitete DbContextErstellt.

Sqlite(IModel)

Ruft die SQLite-spezifischen Metadaten für ein Modell ab.

SqlServer(IModel)

Ruft die SQL Server spezifischen Metadaten für ein Modell ab.

ToDebugString(IModel, MetadataDebugStringOptions, Int32)

Erstellt eine lesbare Darstellung der angegebenen Metadaten.

Warnung: Verlassen Sie sich nicht auf das Format der zurückgegebenen Zeichenfolge. Sie wurde nur für das Debuggen entwickelt und kann sich willkürlich zwischen Versionen ändern.

Gilt für: