Freigeben über


RuntimeModel Klasse

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 class RuntimeModel : Microsoft.EntityFrameworkCore.Infrastructure.AnnotatableBase, Microsoft.EntityFrameworkCore.Metadata.Internal.IRuntimeModel
type RuntimeModel = class
    inherit AnnotatableBase
    interface IRuntimeModel
    interface IModel
    interface IReadOnlyModel
    interface IReadOnlyAnnotatable
    interface IAnnotatable
Public Class RuntimeModel
Inherits AnnotatableBase
Implements IRuntimeModel
Vererbung
RuntimeModel
Implementiert
IAnnotatable IReadOnlyAnnotatable IModel Microsoft.EntityFrameworkCore.Metadata.Internal.IRuntimeModel IReadOnlyModel

Hinweise

Dies ist eine einfache Implementierung, die aus einem erstellten Modell erstellt wird und nicht zur Entwurfszeit verwendet werden soll.

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 .

Konstruktoren

RuntimeModel()

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.

Eigenschaften

DebugView

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 vorherige Ankündigung in jeder Version geändert oder entfernt werden. Sie sollten es nur mit äußerster Vorsicht direkt in Ihrem Code verwenden und wissen, dass dies bei der Aktualisierung auf ein neues Entity Framework Core-Release zu Anwendungsfehlern führen kann.

IsReadOnly

Gibt an, ob das aktuelle Objekt schreibgeschützt ist.

(Geerbt von AnnotatableBase)
Item[String]

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

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

Methoden

AddAnnotation(String, Annotation)

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

(Geerbt von AnnotatableBase)
AddAnnotation(String, Object)

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

(Geerbt von AnnotatableBase)
AddAnnotations(IEnumerable<IAnnotation>)

Fügt diesem Objekt Anmerkungen hinzu.

(Geerbt von AnnotatableBase)
AddAnnotations(IReadOnlyDictionary<String,Object>)

Fügt diesem Objekt Anmerkungen hinzu.

(Geerbt von AnnotatableBase)
AddEntityType(String, Type, RuntimeEntityType, Boolean, String, ChangeTrackingStrategy, PropertyInfo, Boolean)

Fügt dem Modell einen Entitätstyp mit einer definierenden Navigation hinzu.

AddEntityType(String, Type, RuntimeEntityType, Boolean, String, ChangeTrackingStrategy, PropertyInfo, Boolean, Object)

Fügt dem Modell einen Entitätstyp mit einer definierenden Navigation hinzu.

AddRuntimeAnnotation(String, Annotation)

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

(Geerbt von AnnotatableBase)
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 AnnotatableBase)
AddRuntimeAnnotations(IEnumerable<Annotation>)

Fügt diesem Objekt Laufzeitanmerkungen hinzu.

(Geerbt von AnnotatableBase)
AddRuntimeAnnotations(IReadOnlyDictionary<String,Object>)

Fügt diesem Objekt Laufzeitanmerkungen hinzu.

(Geerbt von AnnotatableBase)
AddTypeMappingConfiguration(Type, Nullable<Int32>, Nullable<Boolean>, Nullable<Int32>, Nullable<Int32>, Type, ValueConverter)

Fügt die Konfiguration für einen Skalartyp hinzu.

CreateAnnotation(String, Object)

Erstellt eine neue Anmerkung.

(Geerbt von AnnotatableBase)
CreateRuntimeAnnotation(String, Object)

Erstellt eine neue Laufzeitanmerkung.

(Geerbt von AnnotatableBase)
EnsureMutable()

Löst aus, wenn das Modell schreibgeschützt ist.

(Geerbt von AnnotatableBase)
EnsureReadOnly()

Löst aus, wenn das Modell nicht schreibgeschützt ist.

(Geerbt von AnnotatableBase)
FindAdHocEntityType(Type)

Ruft den Entitätstyp mit dem angegebenen Namen ab. Gibt zurück null , wenn kein Entitätstyp mit dem angegebenen Namen als Ad-hoc-Typ zugeordnet wurde.

FindAnnotation(String)

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

(Geerbt von AnnotatableBase)
FindEntityType(String)

Ruft den Entitätstyp 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.

FindRuntimeAnnotation(String)

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

(Geerbt von AnnotatableBase)
GetAdHocEntityTypes()

Ruft alle im Modell definierten Ad-hoc-Entitätstypen ab.

GetAnnotation(String)

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

(Geerbt von AnnotatableBase)
GetAnnotations()

Ruft alle Anmerkungen für das aktuelle Objekt ab.

(Geerbt von AnnotatableBase)
GetOrAddAdHocEntityType(RuntimeEntityType)

Fügt dem Modell einen Ad-hoc-Entitätstyp hinzu.

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 AnnotatableBase)
GetRuntimeAnnotations()

Ruft alle Laufzeitanmerkungen für das aktuelle -Objekt ab.

(Geerbt von AnnotatableBase)
OnAnnotationSet(String, Annotation, Annotation)

Wird aufgerufen, wenn eine Anmerkung festgelegt oder entfernt wurde.

(Geerbt von AnnotatableBase)
RemoveAnnotation(String)

Entfernt die angegebene Anmerkung aus diesem Objekt.

(Geerbt von AnnotatableBase)
RemoveRuntimeAnnotation(String)

Entfernt die angegebene Laufzeitanmerkung aus diesem Objekt.

(Geerbt von AnnotatableBase)
SetAnnotation(String, Annotation, Annotation)

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

(Geerbt von AnnotatableBase)
SetAnnotation(String, Object)

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

(Geerbt von AnnotatableBase)
SetRuntimeAnnotation(String, Annotation, Annotation)

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 AnnotatableBase)
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 AnnotatableBase)
SetSkipDetectChanges(Boolean)

Legt einen Wert fest, der angibt, ob DetectChanges() aufgerufen werden soll.

Explizite Schnittstellenimplementierungen

IAnnotatable.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 AnnotatableBase)
IAnnotatable.FindRuntimeAnnotation(String)

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

(Geerbt von AnnotatableBase)
IAnnotatable.GetRuntimeAnnotations()

Ruft alle Laufzeitanmerkungen für das aktuelle Objekt ab.

(Geerbt von AnnotatableBase)
IAnnotatable.RemoveRuntimeAnnotation(String)

Entfernt die angegebene Laufzeitanmerkung aus diesem Objekt.

(Geerbt von AnnotatableBase)
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 AnnotatableBase)
IModel.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.

IModel.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 übereinstimmender Entitätstyp gefunden wird.

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

IModel.FindEntityTypes(Type)

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

IModel.FindTypeMappingConfiguration(Type)

Sucht nach der Präkonventionskonfiguration für einen angegebenen Skalar Type.

IModel.GetEntityTypes()

Ruft alle im Modell definierten Entitätstypen ab.

IModel.GetTypeMappingConfigurations()

Ruft alle Konfigurationen vor der Konvention ab.

IModel.IsIndexerMethod(MethodInfo)

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

IReadOnlyAnnotatable.FindAnnotation(String)

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

(Geerbt von AnnotatableBase)
IReadOnlyAnnotatable.GetAnnotations()

Ruft alle Anmerkungen für das aktuelle Objekt ab.

(Geerbt von AnnotatableBase)
IReadOnlyAnnotatable.Item[String]

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

(Geerbt von AnnotatableBase)
IReadOnlyModel.FindEntityType(String)

Ruft den Entitätstyp 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.

IReadOnlyModel.FindEntityType(String, String, IReadOnlyEntityType)

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

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

IReadOnlyModel.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 übereinstimmender Entitätstyp gefunden wird.

IReadOnlyModel.FindEntityTypes(Type)

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

IReadOnlyModel.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.

IReadOnlyModel.GetEntityTypes()

Ruft alle im Modell definierten Entitätstypen ab.

IReadOnlyModel.GetPropertyAccessMode()

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

IReadOnlyModel.IsShared(Type)

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

IReadOnlyModel.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 vorherige Ankündigung in jeder Version geändert oder entfernt werden. Sie sollten es nur mit äußerster Vorsicht direkt in Ihrem Code verwenden und wissen, dass dies bei der Aktualisierung auf ein neues Entity Framework Core-Release zu Anwendungsfehlern führen kann.

IRuntimeModel.RelationalModel

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 vorherige Ankündigung in jeder Version geändert oder entfernt werden. Sie sollten es nur mit äußerster Vorsicht direkt in Ihrem Code verwenden und wissen, dass dies bei der Aktualisierung auf ein neues Entity Framework Core-Release zu Anwendungsfehlern führen kann.

IRuntimeModel.SkipDetectChanges

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.

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 Im -Objekt deklarierten Anmerkungen ab.

GetRelationalDependencies(IModel, String)

Gibt die relationalen Dienstabhängigkeiten zurück.

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.

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.

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.

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.

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: