Bagikan melalui


ReferenceOwnershipBuilder Kelas

Definisi

Menyediakan API sederhana untuk mengonfigurasi kepemilikan satu-ke-satu.

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)
Warisan
ReferenceOwnershipBuilder
Turunan
Penerapan
IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>

Konstruktor

ReferenceOwnershipBuilder(EntityType, EntityType, InternalRelationshipBuilder)

API ini mendukung infrastruktur Entity Framework Core dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. API ini dapat berubah atau dihapus dalam rilis mendatang.

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

API ini mendukung infrastruktur Entity Framework Core dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. API ini dapat berubah atau dihapus dalam rilis mendatang.

Properti

Builder

Mendapatkan penyusun internal yang digunakan untuk mengonfigurasi hubungan ini.

(Diperoleh dari ReferenceReferenceBuilderBase)
DeclaringEntityType

Mendapatkan jenis entitas pertama yang digunakan untuk mengonfigurasi hubungan ini.

(Diperoleh dari ReferenceReferenceBuilderBase)
Metadata

Kunci asing yang mewakili hubungan ini.

(Diperoleh dari ReferenceReferenceBuilderBase)
OwnedEntityType

Jenis entitas yang dimiliki sedang dikonfigurasi.

RelatedEntityType

Mendapatkan jenis entitas kedua yang digunakan untuk mengonfigurasi hubungan ini.

(Diperoleh dari ReferenceReferenceBuilderBase)

Metode

FindRelatedEntityType(String, String)

API ini mendukung infrastruktur Entity Framework Core dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. API ini dapat berubah atau dihapus dalam rilis mendatang.

FindRelatedEntityType(Type, String)

API ini mendukung infrastruktur Entity Framework Core dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. API ini dapat berubah atau dihapus dalam rilis mendatang.

HasChangeTrackingStrategy(ChangeTrackingStrategy)

Mengonfigurasi yang ChangeTrackingStrategy akan digunakan untuk jenis entitas ini. Strategi ini menunjukkan bagaimana konteks mendeteksi perubahan pada properti untuk instans jenis entitas.

HasData(Object[])

Mengonfigurasi entitas ini untuk memiliki data benih. Ini digunakan untuk menghasilkan migrasi gerakan data.

HasEntityTypeAnnotation(String, Object)

Menambahkan atau memperbarui anotasi pada jenis entitas yang dimiliki. Jika anotasi dengan kunci yang ditentukan di annotation sudah ada, nilainya akan diperbarui.

HasForeignKey(String[])

Mengonfigurasi properti yang akan digunakan sebagai kunci asing untuk hubungan ini.

Jika nama properti yang ditentukan tidak ada pada jenis entitas, maka properti status bayangan baru akan ditambahkan untuk berfungsi sebagai kunci asing. Properti status bayangan adalah properti yang tidak memiliki properti yang sesuai di kelas entitas. Nilai saat ini untuk properti disimpan dalam ChangeTracker daripada disimpan dalam instans kelas entitas.

Jika HasPrincipalKey(String[]) tidak ditentukan, maka upaya akan dilakukan untuk mencocokkan jenis data dan urutan properti kunci asing terhadap kunci utama jenis entitas utama. Jika tidak cocok, properti status bayangan baru yang membentuk indeks unik akan ditambahkan ke jenis entitas utama untuk berfungsi sebagai kunci referensi.

HasForeignKeyAnnotation(String, Object)

Menambahkan atau memperbarui anotasi pada kunci asing. Jika anotasi dengan kunci yang ditentukan di annotation sudah ada, nilainya akan diperbarui.

HasIndex(String[])

Mengonfigurasi indeks pada properti yang ditentukan. Jika ada indeks yang ada pada kumpulan properti yang diberikan, maka indeks yang ada akan dikembalikan untuk konfigurasi.

HasKey(String[])

Mengatur properti yang membentuk kunci primer untuk jenis entitas yang dimiliki ini.

HasMany(String, String)

Mengonfigurasi hubungan di mana jenis entitas ini memiliki koleksi yang berisi instans jenis lain dalam hubungan.

Perhatikan bahwa memanggil metode ini tanpa parameter akan secara eksplisit mengonfigurasi sisi hubungan ini untuk tidak menggunakan properti navigasi, bahkan jika properti seperti itu ada pada jenis entitas. Jika properti navigasi akan digunakan, maka harus ditentukan.

Setelah memanggil metode ini, Anda harus menautkan panggilan ke WithOne(String) untuk mengonfigurasi hubungan sepenuhnya. Memanggil hanya metode ini tanpa panggilan berantai tidak akan menghasilkan hubungan yang valid.

HasMany(Type, String)

Mengonfigurasi hubungan di mana jenis entitas ini memiliki koleksi yang berisi instans jenis lain dalam hubungan.

Perhatikan bahwa memanggil metode ini tanpa parameter akan secara eksplisit mengonfigurasi sisi hubungan ini untuk tidak menggunakan properti navigasi, bahkan jika properti seperti itu ada pada jenis entitas. Jika properti navigasi akan digunakan, maka harus ditentukan.

Setelah memanggil metode ini, Anda harus menautkan panggilan ke WithOne(String) untuk mengonfigurasi hubungan sepenuhnya. Memanggil hanya metode ini tanpa panggilan berantai tidak akan menghasilkan hubungan yang valid.

HasOne(String, String)

Mengonfigurasi hubungan di mana jenis entitas ini memiliki referensi yang menunjuk ke satu instans dari jenis lain dalam hubungan.

Perhatikan bahwa memanggil metode ini tanpa parameter akan secara eksplisit mengonfigurasi sisi hubungan ini untuk tidak menggunakan properti navigasi, bahkan jika properti seperti itu ada pada jenis entitas. Jika properti navigasi akan digunakan, maka harus ditentukan.

Setelah memanggil metode ini, Anda harus menautkan panggilan ke WithMany(String) atau WithOne(String) untuk mengonfigurasi hubungan sepenuhnya. Memanggil hanya metode ini tanpa panggilan berantai tidak akan menghasilkan hubungan yang valid.

HasOne(Type, String)

Mengonfigurasi hubungan di mana jenis entitas ini memiliki referensi yang menunjuk ke satu instans dari jenis lain dalam hubungan.

Perhatikan bahwa memanggil metode ini tanpa parameter akan secara eksplisit mengonfigurasi sisi hubungan ini untuk tidak menggunakan properti navigasi, bahkan jika properti seperti itu ada pada jenis entitas. Jika properti navigasi akan digunakan, maka harus ditentukan.

Setelah memanggil metode ini, Anda harus menautkan panggilan ke WithMany(String) atau WithOne(String) untuk mengonfigurasi hubungan sepenuhnya. Memanggil hanya metode ini tanpa panggilan berantai tidak akan menghasilkan hubungan yang valid.

HasPrincipalKey(String[])

Mengonfigurasi properti unik yang ditargetkan hubungan ini--yaitu, pada jenis entitas pemilik. Biasanya Anda hanya akan memanggil metode ini jika Anda ingin menggunakan properti selain kunci primer sebagai properti utama. Jika properti yang ditentukan belum menjadi batasan unik (atau kunci primer) maka batasan unik baru akan diperkenalkan.

Ignore(String)

Mengecualikan properti yang diberikan dari jenis entitas. Metode ini biasanya digunakan untuk menghapus properti dari jenis entitas yang dimiliki yang ditambahkan oleh konvensi.

OnDelete(DeleteBehavior)

Mengonfigurasi bagaimana operasi penghapusan diterapkan ke entitas dependen dalam hubungan saat prinsipal dihapus atau hubungan terputus.

OwnsMany(String, String)

Mengonfigurasi hubungan di mana entitas target dimiliki oleh (atau bagian dari) entitas ini.

Jenis entitas target untuk setiap hubungan kepemilikan diperlakukan sebagai jenis entitas yang berbeda meskipun navigasinya memiliki jenis yang sama. Konfigurasi jenis entitas target tidak diterapkan ke jenis entitas target dari hubungan kepemilikan lainnya.

Sebagian besar operasi pada entitas yang dimiliki memerlukan akses melalui entitas pemilik menggunakan navigasi yang sesuai.

OwnsMany(String, String, Action<CollectionOwnershipBuilder>)

Mengonfigurasi hubungan di mana jenis entitas ini menyediakan identitas ke jenis lain dalam hubungan.

OwnsMany(Type, String)

Mengonfigurasi hubungan di mana entitas target dimiliki oleh (atau bagian dari) entitas ini.

Jenis entitas target untuk setiap hubungan kepemilikan diperlakukan sebagai jenis entitas yang berbeda meskipun navigasinya memiliki jenis yang sama. Konfigurasi jenis entitas target tidak diterapkan ke jenis entitas target dari hubungan kepemilikan lainnya.

Sebagian besar operasi pada entitas yang dimiliki memerlukan akses melalui entitas pemilik menggunakan navigasi yang sesuai.

OwnsMany(Type, String, Action<CollectionOwnershipBuilder>)

Mengonfigurasi hubungan di mana jenis entitas ini menyediakan identitas ke jenis lain dalam hubungan.

OwnsOne(String, String)

Mengonfigurasi hubungan di mana entitas target dimiliki oleh (atau bagian dari) entitas ini. Nilai kunci entitas target selalu disebarluaskan dari entitas miliknya.

Jenis entitas target untuk setiap hubungan kepemilikan diperlakukan sebagai jenis entitas yang berbeda meskipun navigasinya memiliki jenis yang sama. Konfigurasi jenis entitas target tidak diterapkan ke jenis entitas target dari hubungan kepemilikan lainnya.

Sebagian besar operasi pada entitas yang dimiliki memerlukan akses melalui entitas pemilik menggunakan navigasi yang sesuai.

OwnsOne(String, String, Action<ReferenceOwnershipBuilder>)

Mengonfigurasi hubungan di mana entitas target dimiliki oleh (atau bagian dari) entitas ini. Nilai kunci entitas target selalu disebarluaskan dari entitas miliknya.

Jenis entitas target untuk setiap hubungan kepemilikan diperlakukan sebagai jenis entitas yang berbeda meskipun navigasinya memiliki jenis yang sama. Konfigurasi jenis entitas target tidak diterapkan ke jenis entitas target dari hubungan kepemilikan lainnya.

Sebagian besar operasi pada entitas yang dimiliki memerlukan akses melalui entitas pemilik menggunakan navigasi yang sesuai.

OwnsOne(Type, String)

Mengonfigurasi hubungan di mana entitas target dimiliki oleh (atau bagian dari) entitas ini. Nilai kunci entitas target selalu disebarluaskan dari entitas miliknya.

Jenis entitas target untuk setiap hubungan kepemilikan diperlakukan sebagai jenis entitas yang berbeda meskipun navigasinya memiliki jenis yang sama. Konfigurasi jenis entitas target tidak diterapkan ke jenis entitas target dari hubungan kepemilikan lainnya.

Sebagian besar operasi pada entitas yang dimiliki memerlukan akses melalui entitas pemilik menggunakan navigasi yang sesuai.

OwnsOne(Type, String, Action<ReferenceOwnershipBuilder>)

Mengonfigurasi hubungan di mana entitas target dimiliki oleh (atau bagian dari) entitas ini. Nilai kunci entitas target selalu disebarluaskan dari entitas miliknya.

Jenis entitas target untuk setiap hubungan kepemilikan diperlakukan sebagai jenis entitas yang berbeda meskipun navigasinya memiliki jenis yang sama. Konfigurasi jenis entitas target tidak diterapkan ke jenis entitas target dari hubungan kepemilikan lainnya.

Sebagian besar operasi pada entitas yang dimiliki memerlukan akses melalui entitas pemilik menggunakan navigasi yang sesuai.

Property(String)

Mengembalikan objek yang dapat digunakan untuk mengonfigurasi properti dari jenis entitas yang dimiliki. Jika tidak ada properti dengan nama yang diberikan, maka properti baru akan ditambahkan.

Saat menambahkan properti baru dengan kelebihan beban ini, nama properti harus cocok dengan nama properti atau bidang CLR pada jenis entitas. Kelebihan beban ini tidak dapat digunakan untuk menambahkan properti status bayangan baru.

Property(Type, String)

Mengembalikan objek yang dapat digunakan untuk mengonfigurasi properti dari jenis entitas yang dimiliki. Jika tidak ada properti dengan nama yang diberikan, maka properti baru akan ditambahkan.

Saat menambahkan properti baru, jika properti dengan nama yang sama ada di kelas entitas, properti tersebut akan ditambahkan ke model. Jika tidak ada properti di kelas entitas, maka properti status bayangan baru akan ditambahkan. Properti status bayangan adalah properti yang tidak memiliki properti yang sesuai di kelas entitas. Nilai saat ini untuk properti disimpan dalam ChangeTracker daripada disimpan dalam instans kelas entitas.

Property<TProperty>(String)

Mengembalikan objek yang dapat digunakan untuk mengonfigurasi properti dari jenis entitas yang dimiliki. Jika tidak ada properti dengan nama yang diberikan, maka properti baru akan ditambahkan.

Saat menambahkan properti baru, jika properti dengan nama yang sama ada di kelas entitas, properti tersebut akan ditambahkan ke model. Jika tidak ada properti di kelas entitas, maka properti status bayangan baru akan ditambahkan. Properti status bayangan adalah properti yang tidak memiliki properti yang sesuai di kelas entitas. Nilai saat ini untuk properti disimpan dalam ChangeTracker daripada disimpan dalam instans kelas entitas.

UsePropertyAccessMode(PropertyAccessMode)

PropertyAccessMode Mengatur untuk digunakan untuk semua properti jenis entitas ini.

Secara default, bidang backing, jika ditemukan oleh konvensi atau telah ditentukan, digunakan saat objek baru dibangun, biasanya ketika entitas dikueri dari database. Properti digunakan untuk semua akses lainnya. Memanggil metode ini akan mengubah perilaku tersebut untuk semua properti jenis entitas ini seperti yang dijelaskan dalam PropertyAccessMode enum.

Memanggil metode ini mengambil alih untuk semua properti entitas ini mengetikkan mode akses apa pun yang diatur pada model.

Implementasi Antarmuka Eksplisit

IInfrastructure<IMutableModel>.Instance

Model tempat hubungan ini berada.

(Diperoleh dari ReferenceReferenceBuilderBase)
IInfrastructure<InternalEntityTypeBuilder>.Instance

Mendapatkan penyusun internal yang digunakan untuk mengonfigurasi jenis entitas yang dimiliki.

IInfrastructure<InternalRelationshipBuilder>.Instance

Mendapatkan penyusun internal yang digunakan untuk mengonfigurasi hubungan ini.

(Diperoleh dari ReferenceReferenceBuilderBase)

Metode Ekstensi

GetInfrastructure<T>(IInfrastructure<T>)

Mendapatkan nilai dari properti yang sedang disembunyikan menggunakan IInfrastructure<T>.

Metode ini biasanya digunakan oleh penyedia database (dan ekstensi lainnya). Umumnya tidak digunakan dalam kode aplikasi.

HasConstraintName(ReferenceOwnershipBuilder, String)

Mengonfigurasi nama batasan kunci asing untuk hubungan ini saat menargetkan database relasional.

ToTable(ReferenceOwnershipBuilder, String)

Mengonfigurasi tampilan atau tabel yang dipetakan entitas saat menargetkan database relasional.

ToTable(ReferenceOwnershipBuilder, String, String)

Mengonfigurasi tampilan atau tabel yang dipetakan entitas saat menargetkan database relasional.

ForSqlServerIsMemoryOptimized(ReferenceOwnershipBuilder, Boolean)

Mengonfigurasi tabel yang dipetakan entitas saat menargetkan SQL Server sebagai memori yang dioptimalkan.

Berlaku untuk