ReferenceOwnershipBuilder Sınıf

Tanım

Bire bir sahipliği yapılandırmak için basit bir API sağlar.

public class ReferenceOwnershipBuilder : Microsoft.EntityFrameworkCore.Metadata.Builders.ReferenceReferenceBuilderBase, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>
type ReferenceOwnershipBuilder = class
    inherit ReferenceReferenceBuilderBase
    interface IInfrastructure<InternalEntityTypeBuilder>
Public Class ReferenceOwnershipBuilder
Inherits ReferenceReferenceBuilderBase
Implements IInfrastructure(Of InternalEntityTypeBuilder)
Devralma
ReferenceOwnershipBuilder
Türetilmiş
Uygulamalar
IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>

Oluşturucular

ReferenceOwnershipBuilder(EntityType, EntityType, InternalRelationshipBuilder)

Bu API, Entity Framework Core altyapısını destekler ve doğrudan kodunuzdan kullanılması amaçlanmamıştır. Bu API gelecek sürümlerde değiştirilebilir veya kaldırılabilir.

ReferenceOwnershipBuilder(InternalRelationshipBuilder, ReferenceOwnershipBuilder, Boolean, Boolean, Boolean, Boolean)

Bu API, Entity Framework Core altyapısını destekler ve doğrudan kodunuzdan kullanılması amaçlanmamıştır. Bu API gelecek sürümlerde değiştirilebilir veya kaldırılabilir.

Özellikler

Builder

Bu ilişkiyi yapılandırmak için kullanılan iç oluşturucuyu alır.

(Devralındığı yer: ReferenceReferenceBuilderBase)
DeclaringEntityType

Bu ilişkiyi yapılandırmak için kullanılan ilk varlık türünü alır.

(Devralındığı yer: ReferenceReferenceBuilderBase)
Metadata

Bu ilişkiyi temsil eden yabancı anahtar.

(Devralındığı yer: ReferenceReferenceBuilderBase)
OwnedEntityType

Yapılandırılan sahip olunan varlık türü.

RelatedEntityType

Bu ilişkiyi yapılandırmak için kullanılan ikinci varlık türünü alır.

(Devralındığı yer: ReferenceReferenceBuilderBase)

Yöntemler

FindRelatedEntityType(String, String)

Bu API, Entity Framework Core altyapısını destekler ve doğrudan kodunuzdan kullanılması amaçlanmamıştır. Bu API gelecek sürümlerde değiştirilebilir veya kaldırılabilir.

FindRelatedEntityType(Type, String)

Bu API, Entity Framework Core altyapısını destekler ve doğrudan kodunuzdan kullanılması amaçlanmamıştır. Bu API gelecek sürümlerde değiştirilebilir veya kaldırılabilir.

HasChangeTrackingStrategy(ChangeTrackingStrategy)

Bu varlık türü için kullanılacak öğesini ChangeTrackingStrategy yapılandırılır. Bu strateji, bağlamın varlık türünün bir örneğinin özelliklerindeki değişiklikleri nasıl algıladiğini gösterir.

HasData(Object[])

Bu varlığı, dengeli veriye sahip olacak şekilde yapılandırıyor. Veri hareketi geçişleri oluşturmak için kullanılır.

HasEntityTypeAnnotation(String, Object)

Sahip olunan varlık türüne ek açıklama ekler veya güncelleştirir. içinde annotation belirtilen anahtara sahip bir ek açıklama zaten varsa değeri güncelleştirilir.

HasForeignKey(String[])

Bu ilişki için yabancı anahtar olarak kullanılacak özellikleri yapılandırıyor.

Belirtilen özellik adları varlık türünde yoksa, yabancı anahtar görevi görecek yeni bir gölge durum özelliği eklenir. Gölge durum özelliği, varlık sınıfında karşılık gelen özelliği olmayan bir özelliktir. özelliğinin geçerli değeri, varlık sınıfının örneklerinde ChangeTracker depolanmak yerine içinde depolanır.

Belirtilmezse HasPrincipalKey(String[]) , yabancı anahtar özelliklerinin veri türünü ve sırasını asıl varlık türünün birincil anahtarıyla eşleştirmeye yönelik bir girişimde bulunulacaktır. Eşleşmezlerse, benzersiz bir dizin oluşturan yeni gölge durum özellikleri, başvuru anahtarı olarak görev yapması için asıl varlık türüne eklenir.

HasForeignKeyAnnotation(String, Object)

Yabancı anahtara ek açıklama ekler veya güncelleştirir. içinde annotation belirtilen anahtara sahip bir ek açıklama zaten varsa değeri güncelleştirilir.

HasIndex(String[])

Belirtilen özelliklerde bir dizin yapılandırılır. Belirtilen özellik kümesinde mevcut bir dizin varsa, yapılandırma için mevcut dizin döndürülür.

HasKey(String[])

Bu sahip olunan varlık türü için birincil anahtarı oluşturan özellikleri ayarlar.

HasMany(String, String)

Bu varlık türünün ilişkideki diğer türün örneklerini içeren bir koleksiyona sahip olduğu bir ilişki yapılandırılır.

Bu yöntemi parametre olmadan çağırmanın, varlık türünde böyle bir özellik olsa bile, ilişkinin bu tarafını gezinti özelliği kullanmayacak şekilde açıkça yapılandıracağını unutmayın. Gezinti özelliği kullanılacaksa belirtilmesi gerekir.

Bu yöntemi çağırdıktan sonra, ilişkiyi tam olarak yapılandırmak için WithOne(String) çağrısı zincirlemeniz gerekir. Zincirlenmiş çağrı olmadan yalnızca bu yöntemi çağırmak geçerli bir ilişki üretmez.

HasMany(Type, String)

Bu varlık türünün ilişkideki diğer türün örneklerini içeren bir koleksiyona sahip olduğu bir ilişki yapılandırılır.

Bu yöntemi parametre olmadan çağırmanın, varlık türünde böyle bir özellik olsa bile, ilişkinin bu tarafını gezinti özelliği kullanmayacak şekilde açıkça yapılandıracağını unutmayın. Gezinti özelliği kullanılacaksa belirtilmesi gerekir.

Bu yöntemi çağırdıktan sonra, ilişkiyi tam olarak yapılandırmak için WithOne(String) çağrısı zincirlemeniz gerekir. Zincirlenmiş çağrı olmadan yalnızca bu yöntemi çağırmak geçerli bir ilişki üretmez.

HasOne(String, String)

Bu varlık türünün ilişkideki diğer türün tek bir örneğine işaret eden bir başvuruya sahip olduğu bir ilişki yapılandırılır.

Bu yöntemi parametre olmadan çağırmanın, varlık türünde böyle bir özellik olsa bile, ilişkinin bu tarafını gezinti özelliği kullanmayacak şekilde açıkça yapılandıracağını unutmayın. Gezinti özelliği kullanılacaksa belirtilmesi gerekir.

Bu yöntemi çağırdıktan sonra, ilişkiyi tam olarak yapılandırmak için WithMany(String) veya WithOne(String) çağrısı zincirlemeniz gerekir. Zincirlenmiş çağrı olmadan yalnızca bu yöntemi çağırmak geçerli bir ilişki üretmez.

HasOne(Type, String)

Bu varlık türünün ilişkideki diğer türün tek bir örneğine işaret eden bir başvuruya sahip olduğu bir ilişki yapılandırılır.

Bu yöntemi parametre olmadan çağırmanın, varlık türünde böyle bir özellik olsa bile, ilişkinin bu tarafını gezinti özelliği kullanmayacak şekilde açıkça yapılandıracağını unutmayın. Gezinti özelliği kullanılacaksa belirtilmesi gerekir.

Bu yöntemi çağırdıktan sonra, ilişkiyi tam olarak yapılandırmak için WithMany(String) veya WithOne(String) çağrısı zincirlemeniz gerekir. Zincirlenmiş çağrı olmadan yalnızca bu yöntemi çağırmak geçerli bir ilişki üretmez.

HasPrincipalKey(String[])

Bu ilişkinin hedeflediğini benzersiz özellikleri(sahip varlık türü) yapılandırılır. Genellikle bu yöntemi yalnızca birincil anahtar dışında bir özelliği asıl özellik olarak kullanmak istiyorsanız çağırırsınız. Belirtilen özellikler henüz benzersiz bir kısıtlama (veya birincil anahtar) değilse yeni bir benzersiz kısıtlama uygulanır.

Ignore(String)

Verilen özelliği varlık türünden dışlar. Bu yöntem genellikle kural tarafından eklenen sahip olunan varlık türünden özellikleri kaldırmak için kullanılır.

OnDelete(DeleteBehavior)

Sorumlu silindiğinde veya ilişki kesildiğinde ilişkideki bağımlı varlıklara silme işleminin nasıl uygulanacağını yapılandırılır.

OwnsMany(String, String)

Hedef varlığın bu varlığa (veya bir bölümüne) ait olduğu bir ilişki yapılandırılır.

Gezinti aynı türde olsa bile, her sahiplik ilişkisi için hedef varlık türü farklı bir varlık türü olarak değerlendirilir. Hedef varlık türünün yapılandırması, diğer sahiplik ilişkilerinin hedef varlık türüne uygulanmaz.

Sahip olunan bir varlık üzerindeki çoğu işlem, ilgili gezintiyi kullanarak sahip varlığı üzerinden bu varlığa erişmeyi gerektirir.

OwnsMany(String, String, Action<CollectionOwnershipBuilder>)

Bu varlık türünün ilişkideki diğer türe kimlik sağladığı bir ilişki yapılandırılır.

OwnsMany(Type, String)

Hedef varlığın bu varlığa (veya bir bölümüne) ait olduğu bir ilişki yapılandırılır.

Gezinti aynı türde olsa bile, her sahiplik ilişkisi için hedef varlık türü farklı bir varlık türü olarak değerlendirilir. Hedef varlık türünün yapılandırması, diğer sahiplik ilişkilerinin hedef varlık türüne uygulanmaz.

Sahip olunan bir varlık üzerindeki çoğu işlem, ilgili gezintiyi kullanarak sahip varlığı üzerinden bu varlığa erişmeyi gerektirir.

OwnsMany(Type, String, Action<CollectionOwnershipBuilder>)

Bu varlık türünün ilişkideki diğer türe kimlik sağladığı bir ilişki yapılandırılır.

OwnsOne(String, String)

Hedef varlığın bu varlığa (veya bir bölümüne) ait olduğu bir ilişki yapılandırılır. Hedef varlık anahtarı değeri her zaman ait olduğu varlıktan yayılır.

Gezinti aynı türde olsa bile, her sahiplik ilişkisi için hedef varlık türü farklı bir varlık türü olarak değerlendirilir. Hedef varlık türünün yapılandırması, diğer sahiplik ilişkilerinin hedef varlık türüne uygulanmaz.

Sahip olunan bir varlık üzerindeki çoğu işlem, ilgili gezintiyi kullanarak sahip varlığı üzerinden bu varlığa erişmeyi gerektirir.

OwnsOne(String, String, Action<ReferenceOwnershipBuilder>)

Hedef varlığın bu varlığa (veya bir bölümüne) ait olduğu bir ilişki yapılandırılır. Hedef varlık anahtarı değeri her zaman ait olduğu varlıktan yayılır.

Gezinti aynı türde olsa bile, her sahiplik ilişkisi için hedef varlık türü farklı bir varlık türü olarak değerlendirilir. Hedef varlık türünün yapılandırması, diğer sahiplik ilişkilerinin hedef varlık türüne uygulanmaz.

Sahip olunan bir varlık üzerindeki çoğu işlem, ilgili gezintiyi kullanarak sahip varlığı üzerinden bu varlığa erişmeyi gerektirir.

OwnsOne(Type, String)

Hedef varlığın bu varlığa (veya bir bölümüne) ait olduğu bir ilişki yapılandırılır. Hedef varlık anahtarı değeri her zaman ait olduğu varlıktan yayılır.

Gezinti aynı türde olsa bile, her sahiplik ilişkisi için hedef varlık türü farklı bir varlık türü olarak değerlendirilir. Hedef varlık türünün yapılandırması, diğer sahiplik ilişkilerinin hedef varlık türüne uygulanmaz.

Sahip olunan bir varlık üzerindeki çoğu işlem, ilgili gezintiyi kullanarak sahip varlığı üzerinden bu varlığa erişmeyi gerektirir.

OwnsOne(Type, String, Action<ReferenceOwnershipBuilder>)

Hedef varlığın bu varlığa (veya bir bölümüne) ait olduğu bir ilişki yapılandırılır. Hedef varlık anahtarı değeri her zaman ait olduğu varlıktan yayılır.

Gezinti aynı türde olsa bile, her sahiplik ilişkisi için hedef varlık türü farklı bir varlık türü olarak değerlendirilir. Hedef varlık türünün yapılandırması, diğer sahiplik ilişkilerinin hedef varlık türüne uygulanmaz.

Sahip olunan bir varlık üzerindeki çoğu işlem, ilgili gezintiyi kullanarak sahip varlığı üzerinden bu varlığa erişmeyi gerektirir.

Property(String)

Sahip olunan varlık türünün özelliğini yapılandırmak için kullanılabilecek bir nesne döndürür. Verilen ada sahip bir özellik yoksa, yeni bir özellik eklenir.

Bu aşırı yüklemeyle yeni bir özellik eklerken özellik adı, varlık türündeki clr özelliği veya alanının adıyla eşleşmelidir. Bu aşırı yükleme, yeni bir gölge durum özelliği eklemek için kullanılamaz.

Property(Type, String)

Sahip olunan varlık türünün özelliğini yapılandırmak için kullanılabilecek bir nesne döndürür. Verilen ada sahip bir özellik yoksa, yeni bir özellik eklenir.

Yeni özellik eklerken, varlık sınıfında aynı ada sahip bir özellik varsa modele eklenir. Varlık sınıfında özellik yoksa, yeni bir gölge durum özelliği eklenir. Gölge durum özelliği, varlık sınıfında karşılık gelen özelliği olmayan bir özelliktir. özelliğinin geçerli değeri, varlık sınıfının örneklerinde ChangeTracker depolanmak yerine içinde depolanır.

Property<TProperty>(String)

Sahip olunan varlık türünün özelliğini yapılandırmak için kullanılabilecek bir nesne döndürür. Verilen ada sahip bir özellik yoksa, yeni bir özellik eklenir.

Yeni bir özellik eklerken, varlık sınıfında aynı ada sahip bir özellik varsa modele eklenir. Varlık sınıfında özellik yoksa yeni bir gölge durum özelliği eklenir. Gölge durum özelliği, varlık sınıfında karşılık gelen özelliği olmayan bir özelliktir. özelliği için geçerli değer, varlık sınıfının örneklerinde ChangeTracker depolanmak yerine içinde depolanır.

UsePropertyAccessMode(PropertyAccessMode)

PropertyAccessMode Bu varlık türünün tüm özellikleri için kullanılacak öğesini ayarlar.

Varsayılan olarak, bir tane kural tarafından bulunursa veya belirtilmişse, yedekleme alanı yeni nesneler oluşturulduğunda, genellikle varlıklar veritabanından sorgulandığında kullanılır. Özellikler diğer tüm erişimler için kullanılır. Bu yöntemin çağrılması, bu varlık türünün tüm özellikleri için enum'da PropertyAccessMode açıklandığı gibi bu davranışı değiştirir.

Bu yöntemi çağırmak, bu varlığın tüm özellikleri için modelde ayarlanmış herhangi bir erişim modunu geçersiz kılar.

Belirtik Arabirim Kullanımları

IInfrastructure<IMutableModel>.Instance

Bu ilişkinin ait olduğu model.

(Devralındığı yer: ReferenceReferenceBuilderBase)
IInfrastructure<InternalEntityTypeBuilder>.Instance

Sahip olunan varlık türünü yapılandırmak için kullanılan iç oluşturucuyu alır.

IInfrastructure<InternalRelationshipBuilder>.Instance

Bu ilişkiyi yapılandırmak için kullanılan iç oluşturucuyu alır.

(Devralındığı yer: ReferenceReferenceBuilderBase)

Uzantı Metotları

GetInfrastructure<T>(IInfrastructure<T>)

kullanılarak IInfrastructure<T>gizlenen bir özellikten değeri alır.

Bu yöntem genellikle veritabanı sağlayıcıları (ve diğer uzantılar) tarafından kullanılır. Genellikle uygulama kodunda kullanılmaz.

HasConstraintName(ReferenceOwnershipBuilder, String)

İlişkisel veritabanını hedeflerken bu ilişkinin yabancı anahtar kısıtlama adını yapılandırıyor.

ToTable(ReferenceOwnershipBuilder, String)

İlişkisel veritabanını hedeflerken varlığın eşleneceği görünümü veya tabloyu yapılandırılır.

ToTable(ReferenceOwnershipBuilder, String, String)

İlişkisel veritabanını hedeflerken varlığın eşleneceği görünümü veya tabloyu yapılandırılır.

ForSqlServerIsMemoryOptimized(ReferenceOwnershipBuilder, Boolean)

SQL Server hedeflenirken varlığın eşleneceği tabloyu bellek için iyileştirilmiş olarak yapılandırılır.

Şunlara uygulanır