Share via


QueryTypeBuilder Sınıf

Tanım

Sorgu türünü yapılandırmak için basit bir API sağlar.

Bu sınıfın örnekleri API kullanılırken ModelBuilder yöntemlerden döndürülür ve uygulama kodunuzda doğrudan oluşturulacak şekilde tasarlanmamıştır.

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)
Devralma
QueryTypeBuilder
Türetilmiş
Uygulamalar
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>

Oluşturucular

QueryTypeBuilder(InternalEntityTypeBuilder)

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

Metadata

Yapılandırılan sorgu türü.

Yöntemler

HasAnnotation(String, Object)

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

HasBaseType(String)

Devralma hiyerarşisinde bu sorgu türünün temel türünü ayarlar.

HasBaseType(Type)

Devralma hiyerarşisinde bu sorgu türünün temel türünü ayarlar.

HasOne(String, String)

Bu sorgu 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şkiyi 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 belirtilmelidir.

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 oluşturmaz.

HasOne(Type, String)

Bu sorgu 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şkiyi yapılandırılır.

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 oluşturmaz.

HasQueryFilter(LambdaExpression)

Bu sorgu türünü hedefleyen tüm sorgulara otomatik olarak uygulanacak bir LINQ koşulu ifadesi belirtir.

Ignore(String)

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

Property(String)

Sorgu türünün bir ö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ı sorgu türündeki CLR özelliğinin 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)

Sorgu türünün bir ö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 sorgu türü sınıfında aynı ada sahip bir özellik varsa modele eklenir. Sorgu türü sınıfında özellik yoksa yeni bir gölge durum özelliği eklenir. Gölge durum özelliği, sorgu türü sınıfında karşılık gelen özelliği olmayan bir özelliktir. özelliği için geçerli değer, sorgu türü sınıfının örneklerinde ChangeTracker depolanmak yerine içinde depolanır.

Property<TProperty>(String)

Sorgu türünün bir ö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 sorgu türü sınıfında aynı ada sahip bir özellik varsa modele eklenir. Sorgu türü sınıfında özellik yoksa yeni bir gölge durum özelliği eklenir. Gölge durum özelliği, sorgu türü sınıfında karşılık gelen özelliği olmayan bir özelliktir. özelliği için geçerli değer, sorgu türü sınıfının örneklerinde ChangeTracker depolanmak yerine içinde depolanır.

UsePropertyAccessMode(PropertyAccessMode)

PropertyAccessMode bu sorgu 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 sorgu 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 sorgu türünün tüm özellikleri için modelde ayarlanmış erişim modlarını geçersiz kılar.

Belirtik Arabirim Kullanımları

IInfrastructure<IMutableModel>.Instance

Sorgu türünün ait olduğu model.

IInfrastructure<InternalEntityTypeBuilder>.Instance

Sorgu türünü yapılandırmak için kullanılan iç oluşturucuyu alır.

Uzantı Metotları

GetInfrastructure<T>(IInfrastructure<T>)

kullanılarak IInfrastructure<T>gizlenen bir özellikten değerini 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.

HasDiscriminator(QueryTypeBuilder)

Bir devralma hiyerarşisi ilişkisel veritabanındaki tek bir tabloyla eşlendiğinde tablodaki her satırın temsil ettiği sorgu türünü belirlemek için kullanılan ayrımcı sütunu yapılandırılır.

HasDiscriminator(QueryTypeBuilder, String, Type)

Bir devralma hiyerarşisi ilişkisel veritabanındaki tek bir tabloyla eşlendiğinde tablodaki her satırın temsil ettiği sorgu türünü belirlemek için kullanılan ayrımcı sütunu yapılandırılır.

HasDiscriminator<TDiscriminator>(QueryTypeBuilder, String)

Bir devralma hiyerarşisi ilişkisel veritabanındaki tek bir tabloyla eşlendiğinde tablodaki her satırın temsil ettiği sorgu türünü belirlemek için kullanılan ayrımcı sütunu yapılandırılır.

ToView(QueryTypeBuilder, String)

İlişkisel veritabanını hedeflerken görünümün eşlenmesi için görünümü veya tabloyu yapılandırılır.

ToView(QueryTypeBuilder, String, String)

İlişkisel veritabanını hedeflerken görünümün eşlenmesi için görünümü veya tabloyu yapılandırılır.

Şunlara uygulanır