RuntimeModel Sınıf

Tanım

Varlıkların şekli, aralarındaki ilişkiler ve veritabanıyla nasıl eşledikleri hakkında meta veriler. Model genellikle türetilmiş DbContextbir üzerindeki yöntemi geçersiz kılınarak OnModelCreating(ModelBuilder) oluşturulur.

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
Devralma
RuntimeModel
Uygulamalar
IAnnotatable IReadOnlyAnnotatable IModel Microsoft.EntityFrameworkCore.Metadata.Internal.IRuntimeModel IReadOnlyModel

Açıklamalar

Bu, yerleşik bir modelden oluşturulan ve tasarım zamanında kullanılması amaçlanmamış basit bir uygulamadır.

Hizmet ömrü şeklindedir Scoped. Bu, her DbContext örneğin bu hizmetin kendi örneğini kullanacağı anlamına gelir. Uygulama, herhangi bir yaşam süresiyle kaydedilen diğer hizmetlere bağlı olabilir. Uygulamanın iş parçacığı güvenli olması gerekmez.

Daha fazla bilgi ve örnek için bkz. Varlık türlerini ve ilişkilerini modelleme .

Oluşturucular

RuntimeModel()

Varlıkların şekli, aralarındaki ilişkiler ve veritabanıyla nasıl eşledikleri hakkında meta veriler. Model genellikle türetilmiş DbContextbir üzerindeki yöntemi geçersiz kılınarak OnModelCreating(ModelBuilder) oluşturulur.

Özellikler

DebugView

Bu, Entity Framework Core altyapısını destekleyen ve genel API'ler ile aynı uyumluluk standartlarına tabi olmayan bir iç API'dir. Herhangi bir sürümde bildirimde bulunmaksızın değiştirilebilir veya kaldırılabilir. Bunu yalnızca kodunuzda son derece dikkatli bir şekilde kullanmanız ve bunu yapmanın yeni bir Entity Framework Core sürümüne güncelleştirme sırasında uygulama hatalarına neden olabileceğini bilmeniz gerekir.

IsReadOnly

Geçerli nesnenin salt okunur olup olmadığını gösterir.

(Devralındığı yer: AnnotatableBase)
Item[String]

Belirtilen ada sahip değer ek açıklamasını alır ve yoksa döndürür null .

(Devralındığı yer: AnnotatableBase)
ModelId

Bu, Entity Framework Core altyapısını destekleyen ve genel API'ler ile aynı uyumluluk standartlarına tabi olmayan bir iç API'dir. Herhangi bir sürümde bildirimde bulunmaksızın değiştirilebilir veya kaldırılabilir. Bunu yalnızca kodunuzda son derece dikkatli bir şekilde kullanmanız ve bunu yapmanın yeni bir Entity Framework Core sürümüne güncelleştirirken uygulama hatalarına neden olabileceğini bilmeniz gerekir.

Yöntemler

AddAnnotation(String, Annotation)

Bu nesneye bir ek açıklama ekler. Belirtilen ada sahip bir ek açıklama zaten varsa oluşturur.

(Devralındığı yer: AnnotatableBase)
AddAnnotation(String, Object)

Bu nesneye bir ek açıklama ekler. Belirtilen ada sahip bir ek açıklama zaten varsa oluşturur.

(Devralındığı yer: AnnotatableBase)
AddAnnotations(IEnumerable<IAnnotation>)

Bu nesneye ek açıklamalar ekler.

(Devralındığı yer: AnnotatableBase)
AddAnnotations(IReadOnlyDictionary<String,Object>)

Bu nesneye ek açıklamalar ekler.

(Devralındığı yer: AnnotatableBase)
AddEntityType(String, Type, RuntimeEntityType, Boolean, String, ChangeTrackingStrategy, PropertyInfo, Boolean)

Modele tanımlama gezintisi içeren bir varlık türü ekler.

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

Modele tanımlama gezintisi içeren bir varlık türü ekler.

AddRuntimeAnnotation(String, Annotation)

Bu nesneye bir çalışma zamanı ek açıklaması ekler. Belirtilen ada sahip bir ek açıklama zaten varsa oluşturur.

(Devralındığı yer: AnnotatableBase)
AddRuntimeAnnotation(String, Object)

Bu nesneye bir çalışma zamanı ek açıklaması ekler. Belirtilen ada sahip bir ek açıklama zaten varsa oluşturur.

(Devralındığı yer: AnnotatableBase)
AddRuntimeAnnotations(IEnumerable<Annotation>)

Bu nesneye çalışma zamanı ek açıklamaları ekler.

(Devralındığı yer: AnnotatableBase)
AddRuntimeAnnotations(IReadOnlyDictionary<String,Object>)

Bu nesneye çalışma zamanı ek açıklamaları ekler.

(Devralındığı yer: AnnotatableBase)
AddTypeMappingConfiguration(Type, Nullable<Int32>, Nullable<Boolean>, Nullable<Int32>, Nullable<Int32>, Type, ValueConverter)

Skaler tür için yapılandırma ekler.

CreateAnnotation(String, Object)

Yeni bir ek açıklama oluşturur.

(Devralındığı yer: AnnotatableBase)
CreateRuntimeAnnotation(String, Object)

Yeni bir çalışma zamanı ek açıklaması oluşturur.

(Devralındığı yer: AnnotatableBase)
EnsureMutable()

Model salt okunur olduğunda oluşturur.

(Devralındığı yer: AnnotatableBase)
EnsureReadOnly()

Model salt okunur değilse oluşturur.

(Devralındığı yer: AnnotatableBase)
FindAdHocEntityType(Type)

Verilen ada sahip varlık türünü alır. Belirli bir ada sahip hiçbir varlık türü geçici tür olarak eşlenmediyse döndürür null .

FindAnnotation(String)

Mevcut değilse döndürerek null verilen ada sahip ek açıklamayı alır.

(Devralındığı yer: AnnotatableBase)
FindEntityType(String)

Verilen ada sahip varlık türünü alır. Verilen ada sahip bir varlık türü bulunamazsa veya verilen CLR türü paylaşılan tür varlık türü tarafından kullanılıyorsa veya varlık türünün tanımlayıcı bir gezintisi varsa döndürür null .

FindRuntimeAnnotation(String)

Belirli bir adla çalışma zamanı ek açıklamasını alır ve yoksa döndürür null .

(Devralındığı yer: AnnotatableBase)
GetAdHocEntityTypes()

Modelde tanımlanan tüm geçici varlık türlerini alır.

GetAnnotation(String)

Belirtilen ada sahip ek açıklamayı alır ve yoksa oluşturur.

(Devralındığı yer: AnnotatableBase)
GetAnnotations()

Geçerli nesnedeki tüm ek açıklamaları alır.

(Devralındığı yer: AnnotatableBase)
GetOrAddAdHocEntityType(RuntimeEntityType)

Modele geçici bir varlık türü ekler.

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

Çalışma zamanı ek açıklamasının belirtilen ada sahip değerini alır ve yoksa ekler.

(Devralındığı yer: AnnotatableBase)
GetRuntimeAnnotations()

Geçerli nesnedeki tüm çalışma zamanı ek açıklamalarını alır.

(Devralındığı yer: AnnotatableBase)
OnAnnotationSet(String, Annotation, Annotation)

Ek açıklama ayarlandığında veya kaldırıldığında çağrılır.

(Devralındığı yer: AnnotatableBase)
RemoveAnnotation(String)

Verilen ek açıklamayı bu nesneden kaldırır.

(Devralındığı yer: AnnotatableBase)
RemoveRuntimeAnnotation(String)

Verilen çalışma zamanı ek açıklamasını bu nesneden kaldırır.

(Devralındığı yer: AnnotatableBase)
SetAnnotation(String, Annotation, Annotation)

Verilen anahtar altında depolanan ek açıklamayı ayarlar. Belirtilen ada sahip bir ek açıklama zaten varsa mevcut ek açıklamanın üzerine yazar.

(Devralındığı yer: AnnotatableBase)
SetAnnotation(String, Object)

Verilen anahtar altında depolanan ek açıklamayı ayarlar. Belirtilen ada sahip bir ek açıklama zaten varsa mevcut ek açıklamanın üzerine yazar.

(Devralındığı yer: AnnotatableBase)
SetRuntimeAnnotation(String, Annotation, Annotation)

Verilen anahtar altında depolanan çalışma zamanı ek açıklamasını ayarlar. Belirtilen ada sahip bir ek açıklama zaten varsa mevcut ek açıklamanın üzerine yazar.

(Devralındığı yer: AnnotatableBase)
SetRuntimeAnnotation(String, Object)

Verilen anahtar altında depolanan çalışma zamanı ek açıklamasını ayarlar. Belirtilen ada sahip bir ek açıklama zaten varsa mevcut ek açıklamanın üzerine yazar.

(Devralındığı yer: AnnotatableBase)
SetSkipDetectChanges(Boolean)

Çağrılıp çağrılmayacağını DetectChanges() belirten bir değer ayarlar.

Belirtik Arabirim Kullanımları

IAnnotatable.AddRuntimeAnnotation(String, Object)

Bu nesneye bir çalışma zamanı ek açıklaması ekler. Belirtilen ada sahip bir ek açıklama zaten varsa oluşturur.

(Devralındığı yer: AnnotatableBase)
IAnnotatable.FindRuntimeAnnotation(String)

Belirli bir adla çalışma zamanı ek açıklamasını alır ve yoksa döndürür null .

(Devralındığı yer: AnnotatableBase)
IAnnotatable.GetRuntimeAnnotations()

Geçerli nesnedeki tüm çalışma zamanı ek açıklamalarını alır.

(Devralındığı yer: AnnotatableBase)
IAnnotatable.RemoveRuntimeAnnotation(String)

Verilen çalışma zamanı ek açıklamasını bu nesneden kaldırır.

(Devralındığı yer: AnnotatableBase)
IAnnotatable.SetRuntimeAnnotation(String, Object)

Verilen anahtar altında depolanan çalışma zamanı ek açıklamasını ayarlar. Belirtilen ada sahip bir ek açıklama zaten varsa mevcut ek açıklamanın üzerine yazar.

(Devralındığı yer: AnnotatableBase)
IModel.FindEntityType(String)

Verilen ada sahip varlığı alır. Verilen ada sahip bir varlık türü bulunamazsa veya verilen CLR türü paylaşılan tür varlık türü tarafından kullanılıyorsa veya varlık türünün tanımlayıcı bir gezintisi varsa döndürür null .

IModel.FindEntityType(String, String, IEntityType)

Gezinti adını ve tanımlayıcı varlık türünü tanımlayarak verilen ad için varlık türünü alır. Eşleşen varlık türü bulunamazsa döndürür null .

IModel.FindEntityType(Type)

Verilen varlık sınıfını eşleyen varlığı alır. Verilen CLR türüne sahip bir varlık türü bulunamazsa veya verilen CLR türü paylaşılan tür varlık türü tarafından kullanılıyorsa veya varlık türünün tanımlayıcı bir gezintisi varsa döndürür null .

IModel.FindEntityTypes(Type)

Verilen türle eşleşen varlık türlerini alır.

IModel.FindTypeMappingConfiguration(Type)

Belirli bir skaler Typeiçin kural öncesi yapılandırmasını bulur.

IModel.GetEntityTypes()

Modelde tanımlanan tüm varlık türlerini alır.

IModel.GetTypeMappingConfigurations()

Tüm kural öncesi yapılandırmaları alır.

IModel.IsIndexerMethod(MethodInfo)

Verilen MethodInfo değerin dizin oluşturucu erişimini temsil edip etmediğini belirten bir değer alır.

IReadOnlyAnnotatable.FindAnnotation(String)

Mevcut değilse döndürerek null verilen ada sahip ek açıklamayı alır.

(Devralındığı yer: AnnotatableBase)
IReadOnlyAnnotatable.GetAnnotations()

Geçerli nesnedeki tüm ek açıklamaları alır.

(Devralındığı yer: AnnotatableBase)
IReadOnlyAnnotatable.Item[String]

Belirtilen ada sahip ek açıklamanın değerini alır ve yoksa döndürür null .

(Devralındığı yer: AnnotatableBase)
IReadOnlyModel.FindEntityType(String)

Verilen ada sahip varlık türünü alır. Verilen ada sahip bir varlık türü bulunamazsa veya verilen CLR türü paylaşılan tür varlık türü tarafından kullanılıyorsa veya varlık türünün tanımlayıcı bir gezintisi varsa döndürür null .

IReadOnlyModel.FindEntityType(String, String, IReadOnlyEntityType)

Gezinti adını ve tanımlayıcı varlık türünü tanımlayarak verilen temel adın varlık türünü alır. Eşleşen varlık türü bulunamazsa döndürür null .

IReadOnlyModel.FindEntityType(Type)

Verilen varlık sınıfını eşleyen varlığı alır. Verilen CLR türüne sahip bir varlık türü bulunamazsa veya verilen CLR türü paylaşılan tür varlık türü tarafından kullanılıyorsa veya varlık türünün tanımlayıcı bir gezintisi varsa döndürür null .

IReadOnlyModel.FindEntityType(Type, String, IReadOnlyEntityType)

Gezinti adını ve tanımlama varlık türünü tanımlayarak verilen tür için varlık türünü alır. Eşleşen varlık türü bulunamazsa döndürür null .

IReadOnlyModel.FindEntityTypes(Type)

Verilen türle eşleşen varlık türlerini alır.

IReadOnlyModel.GetChangeTrackingStrategy()

Modeldeki varlıklar için kullanılan varsayılan değişiklik izleme stratejisini alır. Bu strateji, bağlamın bir varlık türü örneğinin özelliklerindeki değişiklikleri nasıl algıladiğini gösterir.

IReadOnlyModel.GetEntityTypes()

Modelde tanımlanan tüm varlık türlerini alır.

IReadOnlyModel.GetPropertyAccessMode()

Bu modeldeki PropertyAccessMode varlık türlerinin özellikleri için kullanılan varlığı alır.

IReadOnlyModel.IsShared(Type)

CLR türünün modeldeki paylaşılan tür varlıkları tarafından kullanılıp kullanılmadığını belirten bir değer alır.

IReadOnlyModel.ModelId

Bu, Entity Framework Core altyapısını destekleyen ve genel API'ler ile aynı uyumluluk standartlarına tabi olmayan bir iç API'dir. Herhangi bir sürümde bildirimde bulunmaksızın değiştirilebilir veya kaldırılabilir. Bunu yalnızca kodunuzda son derece dikkatli bir şekilde kullanmanız ve bunu yapmanın yeni bir Entity Framework Core sürümüne güncelleştirme sırasında uygulama hatalarına neden olabileceğini bilmeniz gerekir.

IRuntimeModel.RelationalModel

Bu, Entity Framework Core altyapısını destekleyen ve genel API'ler ile aynı uyumluluk standartlarına tabi olmayan bir iç API'dir. Herhangi bir sürümde bildirimde bulunmaksızın değiştirilebilir veya kaldırılabilir. Bunu yalnızca kodunuzda son derece dikkatli bir şekilde kullanmanız ve bunu yapmanın yeni bir Entity Framework Core sürümüne güncelleştirme sırasında uygulama hatalarına neden olabileceğini bilmeniz gerekir.

IRuntimeModel.SkipDetectChanges

Varlıkların şekli, aralarındaki ilişkiler ve veritabanıyla nasıl eşledikleri hakkında meta veriler. Model genellikle türetilmiş DbContextbir üzerindeki yöntemi geçersiz kılınarak OnModelCreating(ModelBuilder) oluşturulur.

Uzantı Metotları

GetDefaultContainer(IModel)

Varsayılan kapsayıcı adını döndürür.

GetDefaultContainer(IReadOnlyModel)

Varsayılan kapsayıcı adını döndürür.

GetThroughput(IReadOnlyModel)

Veritabanı kapsamında sağlanan aktarım hızını döndürür.

AnnotationsToDebugString(IAnnotatable, Int32)

Nesnede bildirilen tüm ek açıklamaların hata ayıklama dizesini alır.

GetRelationalDependencies(IModel, String)

İlişkisel hizmet bağımlılıklarını döndürür.

FindEntityType(IModel, Type)
Kullanımdan kalktı..

Verilen varlık sınıfını eşleyen varlığı alır. Verilen CLR türüne sahip bir varlık türü bulunamazsa veya belirtilen CLR türü paylaşılan tür varlık türü tarafından kullanılıyorsa veya varlık türünün tanımlayıcı bir gezintisi varsa döndürür null .

GetEntityTypes(IModel, String)
Kullanımdan kalktı..

Verilen adla eşleşen varlık türlerini alır.

GetEntityTypes(IModel, Type)
Kullanımdan kalktı..

Verilen türle eşleşen varlık türlerini alır.

GetProductVersion(IModel)

Bu modeli derlemek için kullanılan EF Core derleme sürümünü alır

HasEntityTypeWithDefiningNavigation(IModel, String)
Kullanımdan kalktı..

Modelin, tanımlayıcı bir gezinti ile karşılık gelen bir varlık türü içerip içermediğini belirten bir değer alır.

HasEntityTypeWithDefiningNavigation(IModel, Type)
Kullanımdan kalktı..

Modelin, tanımlayıcı bir gezinti ile karşılık gelen bir varlık türü içerip içermediğini belirten bir değer alır.

IsIndexerMethod(IModel, MethodInfo)

Verilen MethodInfo'nun dizin oluşturucu erişimine yeniden erişip erişmeyeceğini belirten bir değer alır.

IsShared(IModel, Type)

CLR türünün modeldeki paylaşılan tür varlıkları tarafından kullanılıp kullanılmadığını alır.

ToDebugString(IModel, MetadataDebugStringOptions, Int32)

Verilen meta verilerin insan tarafından okunabilir bir gösterimini oluşturur.

Uyarı: Döndürülen dizenin biçimine güvenmeyin. Yalnızca hata ayıklama için tasarlanmıştır ve yayınlar arasında rastgele değiştirilebilir.

FindDbFunction(IModel, MethodInfo)

Verilen MethodInfoile temsil edilen yöntemine eşlenen bir işlev bulur.

FindDbFunction(IModel, String)

Verilen adla temsil edilen yönteme eşlenen bir işlev bulur.

FindDbFunction(IReadOnlyModel, MethodInfo)

Verilen MethodInfoile temsil edilen yöntemine eşlenen bir işlev bulur.

FindDbFunction(IReadOnlyModel, String)

Verilen adla temsil edilen yönteme eşlenen bir işlev bulur.

FindSequence(IModel, String, String)

Verilen ada sahip bir dizi bulur.

FindSequence(IReadOnlyModel, String, String)

Verilen ada sahip bir dizi bulur.

GetCollation(IModel)

Veritabanı harmanlamasını döndürür.

GetCollation(IReadOnlyModel)

Veritabanı harmanlamasını döndürür.

GetDbFunctions(IModel)

Modelde yer alan tüm işlevleri döndürür.

GetDbFunctions(IReadOnlyModel)

Modelde yer alan tüm işlevleri döndürür.

GetDefaultSchema(IModel)

Model için kullanılacak varsayılan şemayı döndürür veya null ayarlanmamışsa.

GetDefaultSchema(IReadOnlyModel)

Model için kullanılacak varsayılan şemayı döndürür veya null ayarlanmamışsa.

GetMaxIdentifierLength(IModel)

Mağaza tanımlayıcıları için izin verilen uzunluk üst sınırını döndürür.

GetMaxIdentifierLength(IReadOnlyModel)

Mağaza tanımlayıcıları için izin verilen uzunluk üst sınırını döndürür.

GetRelationalModel(IModel)

Veritabanı modelini döndürür.

GetSequences(IModel)

Modelde yer alan tüm dizileri döndürür.

GetSequences(IReadOnlyModel)

Modelde yer alan tüm dizileri döndürür.

GetFluentApiCalls(IModel, IAnnotationCodeGenerator)

Modeli yapılandırmak için akıcı API çağrılarını alır.

GetDatabaseMaxSize(IModel)

Veritabanının en büyük boyutunu döndürür.

GetDatabaseMaxSize(IReadOnlyModel)

Veritabanının en büyük boyutunu döndürür.

GetHiLoSequenceName(IModel)

Varsayılan hi-lo dizisi için kullanılacak adı döndürür.

GetHiLoSequenceName(IReadOnlyModel)

Varsayılan hi-lo dizisi için kullanılacak adı döndürür.

GetHiLoSequenceSchema(IModel)

Varsayılan hi-lo dizisi için kullanılacak şemayı döndürür. UseHiLo(PropertyBuilder, String, String)

GetHiLoSequenceSchema(IReadOnlyModel)

Varsayılan hi-lo dizisi için kullanılacak şemayı döndürür. UseHiLo(PropertyBuilder, String, String)

GetIdentityIncrement(IModel)

Varsayılan kimlik artışını döndürür.

GetIdentityIncrement(IReadOnlyModel)

Varsayılan kimlik artışını döndürür.

GetIdentitySeed(IModel)

Varsayılan kimlik tohumunu döndürür.

GetIdentitySeed(IReadOnlyModel)

Varsayılan kimlik tohumunu döndürür.

GetPerformanceLevelSql(IModel)

Veritabanının performans düzeyini döndürür.

GetPerformanceLevelSql(IReadOnlyModel)

Veritabanının performans düzeyini döndürür.

GetSequenceNameSuffix(IReadOnlyModel)

Otomatik olarak oluşturulan dizilerin adına eklenecek son eki döndürür.

GetSequenceSchema(IReadOnlyModel)

Varsayılan değer oluşturma sırası için kullanılacak şemayı döndürür. UseSequence(PropertyBuilder, String, String)

GetServiceTierSql(IModel)

Veritabanının hizmet katmanını döndürür.

GetServiceTierSql(IReadOnlyModel)

Veritabanının hizmet katmanını döndürür.

GetValueGenerationStrategy(IModel)

Özelliğin SqlServerValueGenerationStrategy açıkça ayarlanmış bir stratejisi olmadığı sürece modeldeki anahtarların özellikleri için kullanılacak değerini döndürür.

GetValueGenerationStrategy(IReadOnlyModel)

Özelliğin SqlServerValueGenerationStrategy açıkça ayarlanmış bir stratejisi olmadığı sürece modeldeki anahtarların özellikleri için kullanılacak değerini döndürür.

Şunlara uygulanır