Share via


PropertyBuilder Sınıf

Tanım

bir yapılandırmak için basit bir IMutablePropertyAPI sağlar.

public class PropertyBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.IMutableModel>, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalPropertyBuilder>
public class PropertyBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalPropertyBuilder>
public class PropertyBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionPropertyBuilder>
type PropertyBuilder = class
    interface IInfrastructure<IMutableModel>
    interface IInfrastructure<InternalPropertyBuilder>
type PropertyBuilder = class
    interface IInfrastructure<InternalPropertyBuilder>
type PropertyBuilder = class
    interface IInfrastructure<IConventionPropertyBuilder>
Public Class PropertyBuilder
Implements IInfrastructure(Of IMutableModel), IInfrastructure(Of InternalPropertyBuilder)
Public Class PropertyBuilder
Implements IInfrastructure(Of InternalPropertyBuilder)
Public Class PropertyBuilder
Implements IInfrastructure(Of IConventionPropertyBuilder)
Devralma
PropertyBuilder
Türetilmiş
Uygulamalar
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalPropertyBuilder> IInfrastructure<IConventionPropertyBuilder>

Açıklamalar

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.

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

Oluşturucular

PropertyBuilder(IMutableProperty)

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.

PropertyBuilder(InternalPropertyBuilder)

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 özellik.

Yöntemler

HasAnnotation(String, Object)

özelliğine 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.

HasConversion(Type)

özelliği, özelliği veritabanına yazmadan önce dönüştürülecek ve veritabanından okurken geri dönüştürülecek şekilde yapılandırılır.

HasConversion(Type, Type)

özelliği, özelliği veritabanına yazmadan önce dönüştürülecek ve veritabanından okurken geri dönüştürülecek şekilde yapılandırılır.

HasConversion(Type, Type, Type)

özelliği, özelliği veritabanına yazmadan önce dönüştürülecek ve veritabanından okurken geri dönüştürülecek şekilde yapılandırılır.

HasConversion(Type, ValueComparer)

özelliği, özelliği veritabanına yazmadan önce dönüştürülecek ve veritabanından okurken geri dönüştürülecek şekilde yapılandırılır.

HasConversion(Type, ValueComparer, ValueComparer)

özelliği, özelliği veritabanına yazmadan önce dönüştürülecek ve veritabanından okurken geri dönüştürülecek şekilde yapılandırılır.

HasConversion(ValueConverter)

Özelliği, özellik değerinin verilen ValueConverterkullanılarak veritabanına ve veritabanından dönüştürülmesi için yapılandırılır.

HasConversion(ValueConverter, ValueComparer)

Özelliği, özellik değerinin verilen ValueConverterkullanılarak veritabanına ve veritabanından dönüştürülmesi için yapılandırılır.

HasConversion(ValueConverter, ValueComparer, ValueComparer)

Özelliği, özellik değerinin verilen ValueConverterkullanılarak veritabanına ve veritabanından dönüştürülmesi için yapılandırılır.

HasConversion<TConversion,TComparer,TProviderComparer>()

özelliği, özelliği veritabanına yazmadan önce dönüştürülecek ve veritabanından okurken geri dönüştürülecek şekilde yapılandırılır.

HasConversion<TConversion,TComparer>()

özelliği, özelliği veritabanına yazmadan önce dönüştürülecek ve veritabanından okurken geri dönüştürülecek şekilde yapılandırılır.

HasConversion<TConversion>()

özelliği, özelliği veritabanına yazmadan önce dönüştürülecek ve veritabanından okurken geri dönüştürülecek şekilde yapılandırılır.

HasConversion<TConversion>(ValueComparer)

özelliği, özelliği veritabanına yazmadan önce dönüştürülecek ve veritabanından okurken geri dönüştürülecek şekilde yapılandırılır.

HasConversion<TConversion>(ValueComparer, ValueComparer)

özelliği, özelliği veritabanına yazmadan önce dönüştürülecek ve veritabanından okurken geri dönüştürülecek şekilde yapılandırılır.

HasField(String)

Bu özellik için kullanılacak yedekleme alanını ayarlar.

HasMaxLength(Int32)

Bu özellikte depolanabilecek en fazla veri uzunluğunu yapılandıran. Uzunluk üst sınırı yalnızca dizi özelliklerinde (özellikler dahil) String ayarlanabilir.

HasPrecision(Int32)

özelliğinin duyarlığı yapılandırılır.

HasPrecision(Int32, Int32)

Özelliğin duyarlığı ve ölçeğini yapılandırılır.

HasSentinel(Object)

Özelliğin ayarlandığını veya ayarlanmadığını belirlemek için kullanılacak değeri yapılandırılır. özelliği sentinel değerine ayarlanırsa ayarlı olmadığı kabul edilir. Varsayılan olarak sentinel değeri, özelliğin türü için CLR varsayılan değeridir.

HasValueGenerator(Func<IProperty,IEntityType,ValueGenerator>)

Bu özellik için değer oluşturmak üzere kullanılacak bir ValueGenerator oluşturmak üzere bir fabrika yapılandırılır.

HasValueGenerator(Func<IProperty,ITypeBase,ValueGenerator>)

Bu özellik için değer oluşturmak üzere kullanılacak bir ValueGenerator oluşturmak üzere bir fabrika yapılandırılır.

HasValueGenerator(Type)

Bu özellik için değer oluşturacak olan öğesini ValueGenerator yapılandırıyor.

HasValueGenerator<TGenerator>()

Bu özellik için değer oluşturacak olan öğesini ValueGenerator yapılandırıyor.

HasValueGeneratorFactory(Type)

Bu özelliğin ValueGeneratorFactory değerlerini oluşturmak için kullanılacak öğesini ValueGenerator oluşturur.

HasValueGeneratorFactory<TFactory>()

Bu özelliğin ValueGeneratorFactory değerlerini oluşturmak için kullanılacak öğesini ValueGenerator oluşturur.

IsConcurrencyToken(Boolean)

Bu özelliğin eşzamanlılık belirteci olarak kullanılıp kullanılmayacağını yapılandırılır. Bir özellik eşzamanlılık belirteci olarak yapılandırıldığında, bu varlık türünün bir örneği veritabanından alındığından bu yana değişmediğinden emin olmak için bu varlık türünün bir örneği güncelleştirildiğinde veya silindiğinde SaveChanges() veritabanındaki değer denetlenecektir. Değiştiyse, bir özel durum oluşturulur ve değişiklikler veritabanına uygulanmaz.

IsRequired(Boolean)

Bu özelliğin atanmış bir değere mi sahip olması gerektiğini yoksa null geçerli bir değer mi olduğunu yapılandırılır. Bir özellik yalnızca atanabilen nullbir CLR türüne dayalıysa gerekli değil olarak yapılandırılabilir.

IsRowVersion()

özelliğini ve IsConcurrencyToken(Boolean)olarak ValueGeneratedOnAddOrUpdate() yapılandırılır.

IsUnicode(Boolean)

Özelliğin unicode karakterleri kalıcı hale getirip işleyemeyeceğini yapılandırıyor. Yalnızca özelliklerde String ayarlanabilir.

UsePropertyAccessMode(PropertyAccessMode)

Bu özellik için kullanılacak öğesini PropertyAccessMode ayarlar.

Varsayılan olarak, kural tarafından bulunan veya belirtilmiş olan 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 özelliğin davranışını numaralandırmada PropertyAccessMode açıklandığı gibi değiştirir.

Bu yöntemi çağırmak, bu özellik için varlık türünde veya modelde ayarlanan tüm erişim modlarının üzerine geçer.

UsePropertyAccessMode(PropertyAccessMode)

Bu özellik için kullanılacak öğesini PropertyAccessMode ayarlar.

ValueGeneratedNever()

Bir özelliği, bu varlık türünün bir örneği kaydedildiğinde veritabanı tarafından hiçbir zaman bir değer oluşturulamayacak şekilde yapılandırılır.

ValueGeneratedOnAdd()

Bir özelliği, null olmayan, geçici olmayan bir değer ayarlanmadığı sürece, yalnızca yeni bir varlık kaydedilirken oluşturulan bir değere sahip olacak şekilde yapılandırılır ve bu durumda bunun yerine ayarlanan değer kaydedilir. Değer bir istemci tarafı değer oluşturucu tarafından veya varlığı kaydetmenin bir parçası olarak veritabanı tarafından oluşturulabilir.

ValueGeneratedOnAddOrUpdate()

Yeni veya var olan bir varlık kaydedilirken bir değerin oluşturulması için bir özellik yapılandırılır.

ValueGeneratedOnUpdate()

Bir özelliği, var olan bir varlığı kaydederken bir değer oluşturulacak şekilde yapılandırılır.

ValueGeneratedOnUpdateSometimes()

Bir özelliği, var olan bir varlığı kaydederken belirli koşullar altında oluşturulan bir değere sahip olacak şekilde yapılandırılır.

Belirtik Arabirim Kullanımları

IInfrastructure<IConventionPropertyBuilder>.Instance

Özelliği yapılandırmak için kullanılan iç oluşturucu.

IInfrastructure<IMutableModel>.Instance

Özelliğin ait olduğu model.

IInfrastructure<InternalPropertyBuilder>.Instance

Özelliği yapılandırmak için kullanılan iç oluşturucu.

Uzantı Metotları

IsETagConcurrency(PropertyBuilder)

Bu özelliği etag eşzamanlılık belirteci olacak şekilde yapılandırılır.

ToJsonProperty(PropertyBuilder, String)

Azure Cosmos hedeflenirken özelliğin eşlendiği özellik adını yapılandırılır.

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.

HasColumnName(PropertyBuilder, String)

bir ilişkisel veritabanını hedeflerken özelliğin eşlenmesi sütunu yapılandırılır.

HasColumnOrder(PropertyBuilder, Nullable<Int32>)

Özelliğin eşlendiği sütunun sırasını yapılandırılır.

HasColumnType(PropertyBuilder, String)

bir ilişkisel veritabanını hedeflerken özelliğin eşlenmesi sütunun veri türünü yapılandırılır. Bu, duyarlık, ölçek, uzunluk vb. dahil olmak üzere tam tür adı olmalıdır.

HasComment(PropertyBuilder, String)

Sütuna uygulanacak açıklamayı yapılandırıyor

HasComputedColumnSql(PropertyBuilder)

İlişkisel veritabanını hedeflerken özelliğini hesaplanan bir sütuna eşlenmesi için yapılandırılır.

HasComputedColumnSql(PropertyBuilder, String)

İlişkisel veritabanını hedeflerken özelliğini hesaplanan bir sütuna eşlenmesi için yapılandırılır.

HasComputedColumnSql(PropertyBuilder, String, Nullable<Boolean>)

İlişkisel veritabanını hedeflerken özelliğini hesaplanan bir sütuna eşlenmesi için yapılandırılır.

HasDefaultValue(PropertyBuilder)

İlişkisel veritabanını hedeflerken özelliğin eşlenmesi sütunu için varsayılan değeri yapılandırılır.

HasDefaultValue(PropertyBuilder, Object)

İlişkisel veritabanını hedeflerken özelliğin eşlenmesi sütunu için varsayılan değeri yapılandırılır.

HasDefaultValueSql(PropertyBuilder)

bir ilişkisel veritabanını hedeflerken özelliğin eşlenmesi sütunu için varsayılan değer ifadesini yapılandırılır.

HasDefaultValueSql(PropertyBuilder, String)

bir ilişkisel veritabanını hedeflerken özelliğin eşlenmesi sütunu için varsayılan değer ifadesini yapılandırılır.

HasJsonPropertyName(PropertyBuilder, String)

Varlık özelliğinin adını kullanmak yerine varlık özelliğini belirli bir JSON özelliğine eşler ve bir JSON sütununa eşlenen varlığın özelliğini yapılandırılır.

IsFixedLength(PropertyBuilder, Boolean)

özelliği, dizeler gibi yalnızca sabit uzunluktaki verileri depolayabilecek şekilde yapılandırılır.

UseCollation(PropertyBuilder, String)

Verilen harmanlamayı kullanmak için özelliğini yapılandırıyor. Veritabanı sütunu verilen harmanlama ile oluşturulur ve tüm harmanlama duyarlı işlemlerde örtük olarak kullanılır.

ForSqliteHasDimension(PropertyBuilder, Ordinates)

SQLite hedeflenirken özelliğin eşlenmesi sütunun boyutunu yapılandırılır.

ForSqliteHasDimension(PropertyBuilder, Ordinates)
Kullanımdan kalktı..

SQLite hedeflenirken özelliğin eşlenmesi sütunun boyutunu yapılandırılır.

HasGeometricDimension(PropertyBuilder, Ordinates)

SQLite hedeflenirken özelliğin eşlenmesi sütunun boyutunu yapılandırılır.

ForSqliteHasColumnName(PropertyBuilder, String)

SQLite'i hedeflerken özelliğin eşlenmesiyle ilgili sütunu yapılandırılır.

ForSqliteHasColumnType(PropertyBuilder, String)

SQLite'i hedeflerken özelliğin eşlenmesi için sütunun veri türünü yapılandırılır.

ForSqliteHasDefaultValue(PropertyBuilder, Object)

SQLite hedeflenirken özelliğin eşlenmesi sütunu için varsayılan değeri yapılandırılır.

ForSqliteHasDefaultValueSql(PropertyBuilder, String)

SQLite hedeflenirken özelliğin eşlenmesi için sütun için varsayılan değer ifadesini yapılandırılır.

ForSqliteHasSrid(PropertyBuilder, Int32)
Kullanımdan kalktı..

SQLite hedeflenirken özelliğin eşlenmesi için sütunun SRID'sini yapılandırılır.

HasSrid(PropertyBuilder, Int32)

SQLite hedeflenirken özelliğin eşlenmesi için sütunun SRID'sini yapılandırılır.

ForSqlServerHasColumnName(PropertyBuilder, String)

SQL Server hedeflerken özelliğin eşlenmesi için sütunu yapılandırılır.

ForSqlServerHasColumnType(PropertyBuilder, String)

SQL Server hedeflerken özelliğin eşlenmesi için sütunun veri türünü yapılandırılır. Bu, duyarlık, ölçek, uzunluk vb. dahil olmak üzere tam tür adı olmalıdır.

ForSqlServerHasComputedColumnSql(PropertyBuilder, String)

özelliği, SQL Server hedeflerken hesaplanan bir sütuna eşlenmesi için yapılandırılır.

ForSqlServerHasDefaultValue(PropertyBuilder, Object)

SQL Server hedeflerken özelliğin eşlenmesi sütunu için varsayılan değeri yapılandırılır.

ForSqlServerHasDefaultValueSql(PropertyBuilder, String)

SQL Server hedeflerken özelliğin eşlenmesi sütunu için varsayılan değer ifadesini yapılandırılır.

ForSqlServerUseSequenceHiLo(PropertyBuilder, String, String)
Kullanımdan kalktı..

anahtar özelliğini, SQL Server hedeflerken yeni varlıklar için değer oluşturmak üzere sıra tabanlı bir hi-lo deseni kullanacak şekilde yapılandırır. Bu yöntem özelliğini olarak OnAddayarlar.

IsSparse(PropertyBuilder, Boolean)

SQL Server hedeflerken özelliğin sütununun seyrek oluşturulup oluşturulmayacağını yapılandırılır.

UseHiLo(PropertyBuilder, String, String)

anahtar özelliğini, SQL Server hedeflerken yeni varlıklar için değerler oluşturmak üzere sıra tabanlı bir hi-lo deseni kullanacak şekilde yapılandırır. Bu yöntem özelliğini olarak OnAddayarlar.

UseIdentityColumn(PropertyBuilder, Int32, Int32)

SQL Server hedeflerken yeni varlıklar için değerler oluşturmak üzere SQL Server IDENTITY özelliğini kullanmak üzere anahtar özelliğini yapılandırılır. Bu yöntem özelliğini olarak OnAddayarlar.

UseIdentityColumn(PropertyBuilder, Int64, Int32)

SQL Server hedeflerken yeni varlıklar için değerler oluşturmak üzere SQL Server IDENTITY özelliğini kullanmak üzere anahtar özelliğini yapılandırılır. Bu yöntem özelliğini olarak OnAddayarlar.

UseSequence(PropertyBuilder, String, String)

SQL Server hedeflerken yeni varlıklar için değerler oluşturmak üzere sıra tabanlı bir anahtar değeri oluşturma deseni kullanmak üzere anahtar özelliğini yapılandırır. Bu yöntem özelliğini olarak OnAddayarlar.

UseSqlServerIdentityColumn(PropertyBuilder)

SQL Server hedeflerken yeni varlıklar için değerler oluşturmak üzere SQL Server IDENTITY özelliğini kullanmak üzere anahtar özelliğini yapılandırılır. Bu yöntem özelliğini olarak OnAddayarlar.

UseSqlServerIdentityColumn(PropertyBuilder, Int32, Int32)
Kullanımdan kalktı..

SQL Server hedeflerken yeni varlıklar için değerler oluşturmak üzere SQL Server IDENTITY özelliğini kullanmak üzere anahtar özelliğini yapılandırılır. Bu yöntem özelliğini olarak OnAddayarlar.

Şunlara uygulanır