Bagikan melalui


QueryTypeBuilder Kelas

Definisi

Menyediakan API sederhana untuk mengonfigurasi jenis kueri.

Instans kelas ini dikembalikan dari metode saat menggunakan ModelBuilder API dan tidak dirancang untuk langsung dibangun dalam kode aplikasi Anda.

public class QueryTypeBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.IMutableModel>, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>
type QueryTypeBuilder = class
    interface IInfrastructure<IMutableModel>
    interface IInfrastructure<InternalEntityTypeBuilder>
Public Class QueryTypeBuilder
Implements IInfrastructure(Of IMutableModel), IInfrastructure(Of InternalEntityTypeBuilder)
Warisan
QueryTypeBuilder
Turunan
Penerapan
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>

Konstruktor

QueryTypeBuilder(InternalEntityTypeBuilder)

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

Metadata

Jenis kueri sedang dikonfigurasi.

Metode

HasAnnotation(String, Object)

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

HasBaseType(String)

Mengatur tipe dasar tipe kueri ini dalam hierarki pewarisan.

HasBaseType(Type)

Mengatur tipe dasar tipe kueri ini dalam hierarki pewarisan.

HasOne(String, String)

Mengonfigurasi hubungan di mana jenis kueri 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 kueri ini memiliki referensi yang menunjuk ke satu instans dari jenis lain dalam hubungan.

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.

HasQueryFilter(LambdaExpression)

Menentukan ekspresi predikat LINQ yang akan secara otomatis diterapkan ke kueri apa pun yang menargetkan jenis kueri ini.

Ignore(String)

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

Property(String)

Mengembalikan objek yang dapat digunakan untuk mengonfigurasi properti jenis kueri. 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 kueri. Kelebihan beban ini tidak dapat digunakan untuk menambahkan properti status bayangan baru.

Property(Type, String)

Mengembalikan objek yang dapat digunakan untuk mengonfigurasi properti jenis kueri. 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 jenis kueri, properti akan ditambahkan ke model. Jika tidak ada properti di kelas jenis kueri, properti status bayangan baru akan ditambahkan. Properti status bayangan adalah properti yang tidak memiliki properti terkait di kelas jenis kueri. Nilai saat ini untuk properti disimpan dalam ChangeTracker daripada disimpan dalam instans kelas jenis kueri.

Property<TProperty>(String)

Mengembalikan objek yang dapat digunakan untuk mengonfigurasi properti jenis kueri. 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 jenis kueri, properti akan ditambahkan ke model. Jika tidak ada properti di kelas jenis kueri, properti status bayangan baru akan ditambahkan. Properti status bayangan adalah properti yang tidak memiliki properti terkait di kelas jenis kueri. Nilai saat ini untuk properti disimpan dalam ChangeTracker daripada disimpan dalam instans kelas jenis kueri.

UsePropertyAccessMode(PropertyAccessMode)

PropertyAccessMode Mengatur untuk digunakan untuk semua properti tipe kueri 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 kueri ini seperti yang dijelaskan dalam PropertyAccessMode enum.

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

Implementasi Antarmuka Eksplisit

IInfrastructure<IMutableModel>.Instance

Model tempat tipe kueri berada.

IInfrastructure<InternalEntityTypeBuilder>.Instance

Mendapatkan penyusun internal yang digunakan untuk mengonfigurasi jenis kueri.

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.

HasDiscriminator(QueryTypeBuilder)

Mengonfigurasi kolom diskriminator yang digunakan untuk mengidentifikasi jenis kueri mana yang diwakili setiap baris dalam tabel saat hierarki pewarisan dipetakan ke satu tabel dalam database relasional.

HasDiscriminator(QueryTypeBuilder, String, Type)

Mengonfigurasi kolom diskriminator yang digunakan untuk mengidentifikasi jenis kueri mana yang diwakili setiap baris dalam tabel saat hierarki pewarisan dipetakan ke satu tabel dalam database relasional.

HasDiscriminator<TDiscriminator>(QueryTypeBuilder, String)

Mengonfigurasi kolom diskriminator yang digunakan untuk mengidentifikasi jenis kueri mana yang diwakili setiap baris dalam tabel saat hierarki pewarisan dipetakan ke satu tabel dalam database relasional.

ToView(QueryTypeBuilder, String)

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

ToView(QueryTypeBuilder, String, String)

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

Berlaku untuk