Freigeben über


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 erstellt, indem die OnModelCreating(ModelBuilder) -Methode für ein abgeleitetes DbContextüberschrieben wird.

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 ist Scoped. Dies bedeutet, dass jede DbContext instance ihre eigene instance dieses Diensts verwendet. Die Implementierung hängt möglicherweise von anderen Diensten ab, die mit einer beliebigen Lebensdauer registriert sind. Die Implementierung muss nicht threadsicher sein.

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

Eigenschaften

Item[String]

Ruft den Wert der Anmerkung mit dem angegebenen Namen ab und gibt null zurück, 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. Es kann ohne Vorankündigung in einer Version geändert oder entfernt werden. Sie sollten es nur mit äußerster Vorsicht direkt im Code verwenden und wissen, dass dies beim Aktualisieren auf ein neues Entity Framework Core-Release zu Anwendungsfehlern führen kann.

(Geerbt von IReadOnlyModel)

Methoden

AddRuntimeAnnotation(String, Object)

Fügt diesem Objekt eine Laufzeitanmerkung hinzu. Wird ausgelöst, 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 wurden.

(Geerbt von IReadOnlyAnnotatable)
FindAnnotation(String)

Ruft die Anmerkung mit dem angegebenen Namen ab und gibt zurück null , wenn sie nicht vorhanden ist.

(Geerbt von IReadOnlyAnnotatable)
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 des freigegebenen Typs verwendet wird oder der Entitätstyp über eine definierende Navigation verfügt.

FindEntityType(String, String, IEntityType)

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

FindEntityType(String, String, IReadOnlyEntityType)

Ruft den Entitätstyp für den angegebenen Basisnamen ab, wobei der Navigationsname und der definierende Entitätstyp definiert werden. Gibt zurück null , wenn kein übereinstimmenden Entitätstyp gefunden wird.

(Geerbt von IReadOnlyModel)
FindEntityType(Type)

Ruft die Entität ab, die der angegebenen Entitätsklasse zugeordnet ist. Gibt zurück null , wenn kein Entitätstyp mit dem angegebenen CLR-Typ gefunden wird oder der angegebene CLR-Typ vom Entitätstyp des freigegebenen Typs 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 und definiert den Navigationsnamen und den definierenden Entitätstyp. Gibt zurück null , wenn kein übereinstimmenden Entitätstyp gefunden wird.

FindEntityType(Type, String, IReadOnlyEntityType)

Ruft den Entitätstyp für den angegebenen Typ ab, wobei der Navigationsname und der definierende Entitätstyp definiert werden. Gibt zurück null , wenn kein übereinstimmenden Entitätstyp gefunden wird.

(Geerbt von IReadOnlyModel)
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 entsprechen.

FindRuntimeAnnotation(String)

Ruft die Laufzeitanmerkung mit dem angegebenen Namen ab und gibt zurück null , wenn sie nicht vorhanden ist.

(Geerbt von IAnnotatable)
FindRuntimeAnnotationValue(String)

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

(Geerbt von IAnnotatable)
FindRuntimeEntityType(Type)

Ruft die Entität ab, die der angegebenen Entitätsklasse zugeordnet ist, wobei es sich bei der Klasse um einen Proxy handeln 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 des freigegebenen Typs verwendet wird oder der Entitätstyp über eine definierende Navigation verfügt.

FindTypeMappingConfiguration(Type)

Sucht die Präkonventionskonfiguration für einen bestimmten skalaren Type.

GetAnnotation(String)

Ruft die Anmerkung mit dem angegebenen Namen ab und löst aus, 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 instance eines Entitätstyps erkennt.

(Geerbt von IReadOnlyModel)
GetEntityTypes()

Ruft alle im Modell definierten Entitätstypen ab.

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, falls 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 die ab, die 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 der angegebene MethodInfo 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. Es ist nur für das Debuggen konzipiert und kann sich zwischen Releases beliebig ändern.

(Geerbt von IReadOnlyModel)

Erweiterungsmethoden

GetDefaultContainer(IModel)

Gibt den Standardcontainernamen zurück.

GetDefaultContainer(IReadOnlyModel)

Gibt den Standardcontainernamen zurück.

GetThroughput(IReadOnlyModel)

Gibt den bereitgestellten Durchsatz im Datenbankbereich zurück.

AnnotationsToDebugString(IAnnotatable, Int32)

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

GetAnnotation(IAnnotatable, String)

Ruft die Anmerkung mit dem angegebenen Namen ab und löst aus, wenn sie nicht vorhanden ist.

GetRelationalDependencies(IModel, String)

Gibt die relationalen Dienstabhängigkeiten zurück.

Scaffolding(IModel)

Metadaten über die Form von Entitäten, die Beziehungen zwischen ihnen und ihre Zuordnung zur Datenbank. Ein Modell wird in der Regel erstellt, indem die OnModelCreating(ModelBuilder) -Methode für ein abgeleitetes DbContextüberschrieben wird.

FindEntityType(IModel, Type)
Veraltet..

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

FindEntityType(IModel, Type, String, IEntityType)

Ruft den Entitätstyp für den angegebenen Typ ab, wobei der Navigationsname und der definierende Entitätstyp definiert werden. Gibt zurück null , wenn kein übereinstimmenden Entitätstyp gefunden wird.

FindRuntimeEntityType(IModel, Type)

Ruft die Entität ab, die der angegebenen Entitätsklasse zugeordnet ist, wobei es sich bei der Klasse um einen Proxy handeln 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 des freigegebenen Typs verwendet wird oder der Entitätstyp über eine definierende Navigation verfügt.

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 instance eines Entitätstyps erkennt.

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.

GetProductVersion(IModel)

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

GetPropertyAccessMode(IModel)

Ruft die ab, die 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 den zugriffsmodus überschreiben können, der für den Entitätstyp festgelegt ist. Der hier zurückgegebene Wert wird für jede Eigenschaft verwendet, für die keine Überschreibung angegeben wurde.

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 erneut angibt.

IsShared(IModel, Type)

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

ToDebugString(IModel, MetadataDebugStringOptions, Int32)

Erstellt eine lesbare Darstellung der angegebenen Metadaten.

Warnung: Verlassen Sie sich nicht auf das Format der zurückgegebenen Zeichenfolge. Es ist nur für das Debuggen konzipiert und kann sich zwischen Releases beliebig ändern.

Relational(IModel)

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

FindDbFunction(IModel, MethodInfo)

Sucht eine Funktion, die der -Methode zugeordnet ist, die durch den angegebenen MethodInfodargestellt wird.

FindDbFunction(IModel, String)

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

FindDbFunction(IReadOnlyModel, MethodInfo)

Sucht eine Funktion, die der -Methode zugeordnet ist, die durch den angegebenen MethodInfodargestellt wird.

FindDbFunction(IReadOnlyModel, String)

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

FindSequence(IModel, String, String)

Sucht eine Sequenz mit dem angegebenen Namen.

FindSequence(IReadOnlyModel, String, String)

Sucht eine Sequenz mit dem angegebenen Namen.

GetCollation(IModel)

Gibt die Datenbanksortierung zurück.

GetCollation(IReadOnlyModel)

Gibt die Datenbanksortierung zurück.

GetDbFunctions(IModel)

Gibt alle im Modell enthaltenen Funktionen zurück.

GetDbFunctions(IReadOnlyModel)

Gibt alle im Modell enthaltenen Funktionen zurück.

GetDefaultSchema(IModel)

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

GetDefaultSchema(IReadOnlyModel)

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

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.

GetRelationalModel(IModel)

Gibt das Datenbankmodell zurück.

GetSequences(IModel)

Gibt alle im Modell enthaltenen Sequenzen zurück.

GetSequences(IReadOnlyModel)

Gibt alle im Modell enthaltenen Sequenzen zurück.

GetFluentApiCalls(IModel, IAnnotationCodeGenerator)

Ruft die Fluent-API-Aufrufe ab, um ein Modell zu konfigurieren.

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.

GetDatabaseMaxSize(IModel)

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

GetDatabaseMaxSize(IReadOnlyModel)

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

GetHiLoSequenceName(IModel)

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

GetHiLoSequenceName(IReadOnlyModel)

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

GetHiLoSequenceSchema(IModel)

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

GetHiLoSequenceSchema(IReadOnlyModel)

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

GetIdentityIncrement(IModel)

Gibt den Standardidentitätsinkrement zurück.

GetIdentityIncrement(IReadOnlyModel)

Gibt den Standardidentitätsinkrement zurück.

GetIdentitySeed(IModel)

Gibt den Standardidentitätssamen zurück.

GetIdentitySeed(IReadOnlyModel)

Gibt den Standardidentitätssamen zurück.

GetPerformanceLevelSql(IModel)

Gibt die Leistungsstufe der Datenbank zurück.

GetPerformanceLevelSql(IReadOnlyModel)

Gibt die Leistungsstufe der Datenbank zurück.

GetSequenceNameSuffix(IReadOnlyModel)

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

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.

GetValueGenerationStrategy(IModel)

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

GetValueGenerationStrategy(IReadOnlyModel)

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

Gilt für: