Sdílet prostřednictvím


PropertyBuilder Třída

Definice

Poskytuje jednoduché rozhraní API pro konfiguraci .IMutableProperty

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)
Dědičnost
PropertyBuilder
Odvozené
Implementuje
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalPropertyBuilder> IInfrastructure<IConventionPropertyBuilder>

Poznámky

Instance této třídy se vrací z metod při použití ModelBuilder rozhraní API a nejsou navrženy tak, aby byly přímo vytvořeny v kódu aplikace.

Další informace a příklady najdete v tématu Modelování typů entit a relací .

Konstruktory

PropertyBuilder(IMutableProperty)

Jedná se o interní rozhraní API, které podporuje infrastrukturu Entity Framework Core a nepodléhá stejným standardům kompatibility jako veřejná rozhraní API. V libovolné verzi může být bez upozornění změněna nebo odebrána. Měli byste ho používat přímo v kódu pouze s mimořádnou opatrností a s vědomím, že při aktualizaci na novou verzi Entity Framework Core může dojít k selháním aplikace.

PropertyBuilder(InternalPropertyBuilder)

Toto rozhraní API podporuje infrastrukturu Entity Framework Core a není určené k použití přímo z vašeho kódu. Toto rozhraní API se může změnit nebo odebrat v budoucích verzích.

Vlastnosti

Metadata

Konfigurovaná vlastnost

Metody

HasAnnotation(String, Object)

Přidá nebo aktualizuje poznámku k vlastnosti . Pokud anotaci s klíčem zadaným v annotation souboru již existuje, bude její hodnota aktualizována.

HasConversion(Type)

Nakonfiguruje vlastnost tak, aby hodnota vlastnosti byla převedena před zápisem do databáze a převedena zpět při čtení z databáze.

HasConversion(Type, Type)

Nakonfiguruje vlastnost tak, aby hodnota vlastnosti byla převedena před zápisem do databáze a převedena zpět při čtení z databáze.

HasConversion(Type, Type, Type)

Nakonfiguruje vlastnost tak, aby hodnota vlastnosti byla převedena před zápisem do databáze a převedena zpět při čtení z databáze.

HasConversion(Type, ValueComparer)

Nakonfiguruje vlastnost tak, aby hodnota vlastnosti byla převedena před zápisem do databáze a převedena zpět při čtení z databáze.

HasConversion(Type, ValueComparer, ValueComparer)

Nakonfiguruje vlastnost tak, aby hodnota vlastnosti byla převedena před zápisem do databáze a převedena zpět při čtení z databáze.

HasConversion(ValueConverter)

Nakonfiguruje vlastnost tak, aby hodnota vlastnosti byla převedena do a z databáze pomocí daného ValueConverterobjektu .

HasConversion(ValueConverter, ValueComparer)

Nakonfiguruje vlastnost tak, aby hodnota vlastnosti byla převedena do a z databáze pomocí daného ValueConverterobjektu .

HasConversion(ValueConverter, ValueComparer, ValueComparer)

Nakonfiguruje vlastnost tak, aby hodnota vlastnosti byla převedena do a z databáze pomocí daného ValueConverterobjektu .

HasConversion<TConversion,TComparer,TProviderComparer>()

Nakonfiguruje vlastnost tak, aby hodnota vlastnosti byla převedena před zápisem do databáze a převedena zpět při čtení z databáze.

HasConversion<TConversion,TComparer>()

Nakonfiguruje vlastnost tak, aby hodnota vlastnosti byla převedena před zápisem do databáze a převedena zpět při čtení z databáze.

HasConversion<TConversion>()

Nakonfiguruje vlastnost tak, aby hodnota vlastnosti byla převedena před zápisem do databáze a převedena zpět při čtení z databáze.

HasConversion<TConversion>(ValueComparer)

Nakonfiguruje vlastnost tak, aby hodnota vlastnosti byla převedena před zápisem do databáze a převedena zpět při čtení z databáze.

HasConversion<TConversion>(ValueComparer, ValueComparer)

Nakonfiguruje vlastnost tak, aby hodnota vlastnosti byla převedena před zápisem do databáze a převedena zpět při čtení z databáze.

HasField(String)

Nastaví záložní pole, které se má použít pro tuto vlastnost.

HasMaxLength(Int32)

Konfiguruje maximální délku dat, která mohou být uložena v této vlastnosti. Maximální délku lze nastavit pouze u vlastností pole (včetně String vlastností).

HasPrecision(Int32)

Konfiguruje přesnost vlastnosti .

HasPrecision(Int32, Int32)

Konfiguruje přesnost a měřítko vlastnosti .

HasSentinel(Object)

Konfiguruje hodnotu, která se použije k určení, jestli byla vlastnost nastavena nebo ne. Pokud je vlastnost nastavená na hodnotu sentinelu, považuje se za nenastavenou. Ve výchozím nastavení je hodnota sentinelu výchozí hodnotou CLR pro typ vlastnosti.

HasValueGenerator(Func<IProperty,IEntityType,ValueGenerator>)

Konfiguruje továrnu pro vytvoření objektu , který ValueGenerator použije ke generování hodnot pro tuto vlastnost.

HasValueGenerator(Func<IProperty,ITypeBase,ValueGenerator>)

Konfiguruje továrnu pro vytvoření objektu , který ValueGenerator použije ke generování hodnot pro tuto vlastnost.

HasValueGenerator(Type)

Konfiguruje objekt ValueGenerator , který bude generovat hodnoty pro tuto vlastnost.

HasValueGenerator<TGenerator>()

Konfiguruje objekt ValueGenerator , který bude generovat hodnoty pro tuto vlastnost.

HasValueGeneratorFactory(Type)

Konfiguruje pro vytvoření objektu ValueGenerator k vygenerování ValueGeneratorFactory hodnot pro tuto vlastnost.

HasValueGeneratorFactory<TFactory>()

Konfiguruje pro vytvoření objektu ValueGenerator k vygenerování ValueGeneratorFactory hodnot pro tuto vlastnost.

IsConcurrencyToken(Boolean)

Konfiguruje, zda má být tato vlastnost použita jako token souběžnosti. Pokud je vlastnost nakonfigurována jako token souběžnosti, bude hodnota v databázi kontrolována při aktualizaci nebo odstranění instance tohoto typu entity během SaveChanges() této doby, aby se zajistilo, že se nezměnila od načtení instance z databáze. Pokud dojde ke změně, vyvolá se výjimka a změny nebudou použity v databázi.

IsRequired(Boolean)

Konfiguruje, zda tato vlastnost musí mít přiřazenou hodnotu nebo null je platnou hodnotou. Vlastnost lze nakonfigurovat jako nepožadovanou pouze v případě, že je založena na typu CLR, který lze přiřadit null.

IsRowVersion()

Nakonfiguruje vlastnost jako ValueGeneratedOnAddOrUpdate() a IsConcurrencyToken(Boolean).

IsUnicode(Boolean)

Konfiguruje, zda je vlastnost schopna zachovat znaky unicode. Lze nastavit pouze u String vlastností.

UsePropertyAccessMode(PropertyAccessMode)

Nastaví pro PropertyAccessMode tuto vlastnost .

Ve výchozím nastavení se záložní pole, pokud je nalezeno podle konvence nebo bylo zadáno, používá při vytváření nových objektů, obvykle při dotazování entit z databáze. Vlastnosti se používají pro všechny ostatní přístupy. Volání této metody witll změnit chování pro tuto vlastnost, jak je popsáno ve výčtu PropertyAccessMode .

Volání této metody předčítá pro tuto vlastnost jakýkoli režim přístupu, který byl nastaven u typu entity nebo modelu.

UsePropertyAccessMode(PropertyAccessMode)

Nastaví pro PropertyAccessMode tuto vlastnost .

ValueGeneratedNever()

Nakonfiguruje vlastnost tak, aby při uložení instance tohoto typu entity nikdy neměla hodnotu vygenerovanou databází.

ValueGeneratedOnAdd()

Nakonfiguruje vlastnost tak, aby měla hodnotu vygenerovanou pouze při ukládání nové entity, pokud není nastavená dočasná hodnota, která není null. V takovém případě se místo toho uloží nastavená hodnota. Hodnota může být vygenerována generátorem hodnot na straně klienta nebo může být generována databází v rámci uložení entity.

ValueGeneratedOnAddOrUpdate()

Nakonfiguruje vlastnost tak, aby měla hodnotu vygenerovanou při ukládání nové nebo existující entity.

ValueGeneratedOnUpdate()

Nakonfiguruje vlastnost tak, aby měla hodnotu vygenerovanou při ukládání existující entity.

ValueGeneratedOnUpdateSometimes()

Nakonfiguruje vlastnost tak, aby měla hodnotu vygenerovanou za určitých podmínek při ukládání existující entity.

Explicitní implementace rozhraní

IInfrastructure<IConventionPropertyBuilder>.Instance

Interní tvůrce, který se používá ke konfiguraci vlastnosti.

IInfrastructure<IMutableModel>.Instance

Model, do kterého vlastnost patří.

IInfrastructure<InternalPropertyBuilder>.Instance

Interní tvůrce, který se používá ke konfiguraci vlastnosti.

Metody rozšíření

IsETagConcurrency(PropertyBuilder)

Nakonfiguruje tuto vlastnost jako token souběžnosti značky eTag.

ToJsonProperty(PropertyBuilder, String)

Nakonfiguruje název vlastnosti, na kterou se vlastnost mapuje při cílení na Azure Cosmos.

GetInfrastructure<T>(IInfrastructure<T>)

Získá hodnotu z vlastnosti, která je skryta pomocí IInfrastructure<T>.

Tuto metodu obvykle používají poskytovatelé databází (a další rozšíření). Obvykle se nepoužívá v kódu aplikace.

HasColumnName(PropertyBuilder, String)

Nakonfiguruje sloupec, na který se vlastnost mapuje při cílení na relační databázi.

HasColumnOrder(PropertyBuilder, Nullable<Int32>)

Nakonfiguruje pořadí sloupce, na který je vlastnost mapována.

HasColumnType(PropertyBuilder, String)

Konfiguruje datový typ sloupce, na který se vlastnost mapuje při cílení na relační databázi. Měl by to být úplný název typu, včetně přesnosti, měřítka, délky atd.

HasComment(PropertyBuilder, String)

Nakonfiguruje komentář pro použití ve sloupci.

HasComputedColumnSql(PropertyBuilder)

Nakonfiguruje vlastnost pro mapování na vypočítaný sloupec při cílení na relační databázi.

HasComputedColumnSql(PropertyBuilder, String)

Nakonfiguruje vlastnost pro mapování na vypočítaný sloupec při cílení na relační databázi.

HasComputedColumnSql(PropertyBuilder, String, Nullable<Boolean>)

Nakonfiguruje vlastnost pro mapování na vypočítaný sloupec při cílení na relační databázi.

HasDefaultValue(PropertyBuilder)

Nakonfiguruje výchozí hodnotu pro sloupec, na který se vlastnost mapuje při cílení na relační databázi.

HasDefaultValue(PropertyBuilder, Object)

Nakonfiguruje výchozí hodnotu pro sloupec, na který se vlastnost mapuje při cílení na relační databázi.

HasDefaultValueSql(PropertyBuilder)

Nakonfiguruje výraz výchozí hodnoty pro sloupec, na který se vlastnost mapuje při cílení na relační databázi.

HasDefaultValueSql(PropertyBuilder, String)

Nakonfiguruje výraz výchozí hodnoty pro sloupec, na který se vlastnost mapuje při cílení na relační databázi.

HasJsonPropertyName(PropertyBuilder, String)

Konfiguruje vlastnost entity namapované na sloupec JSON a mapuje vlastnost entity na konkrétní vlastnost JSON místo použití názvu vlastnosti entity.

IsFixedLength(PropertyBuilder, Boolean)

Nakonfiguruje vlastnost tak, aby mohla ukládat pouze data s pevnou délkou, například řetězce.

UseCollation(PropertyBuilder, String)

Nakonfiguruje vlastnost tak, aby používala danou kolaci. Sloupec databáze se vytvoří s danou kolací a použije se implicitně ve všech operacích citlivých na kolaci.

ForSqliteHasDimension(PropertyBuilder, Ordinates)

Nakonfiguruje dimenzi sloupce, na který se vlastnost mapuje při cílení na SQLite.

ForSqliteHasDimension(PropertyBuilder, Ordinates)
Zastaralé..

Nakonfiguruje dimenzi sloupce, na který se vlastnost mapuje při cílení na SQLite.

HasGeometricDimension(PropertyBuilder, Ordinates)

Nakonfiguruje dimenzi sloupce, na který se vlastnost mapuje při cílení na SQLite.

ForSqliteHasColumnName(PropertyBuilder, String)

Nakonfiguruje sloupec, na který se vlastnost mapuje při cílení na SQLite.

ForSqliteHasColumnType(PropertyBuilder, String)

Konfiguruje datový typ sloupce, na který se vlastnost mapuje při cílení na SQLite.

ForSqliteHasDefaultValue(PropertyBuilder, Object)

Nakonfiguruje výchozí hodnotu pro sloupec, na který se vlastnost mapuje při cílení na SQLite.

ForSqliteHasDefaultValueSql(PropertyBuilder, String)

Nakonfiguruje výchozí výraz hodnoty pro sloupec, na který se vlastnost mapuje při cílení na SQLite.

ForSqliteHasSrid(PropertyBuilder, Int32)
Zastaralé..

Nakonfiguruje SRID sloupce, na který se vlastnost mapuje při cílení na SQLite.

HasSrid(PropertyBuilder, Int32)

Nakonfiguruje SRID sloupce, na který se vlastnost mapuje při cílení na SQLite.

ForSqlServerHasColumnName(PropertyBuilder, String)

Nakonfiguruje sloupec, na který se vlastnost mapuje při cílení na SQL Server.

ForSqlServerHasColumnType(PropertyBuilder, String)

Konfiguruje datový typ sloupce, na který se vlastnost mapuje při cílení na SQL Server. Měl by to být úplný název typu, včetně přesnosti, měřítka, délky atd.

ForSqlServerHasComputedColumnSql(PropertyBuilder, String)

Nakonfiguruje vlastnost pro mapování na vypočítaný sloupec při cílení na SQL Server.

ForSqlServerHasDefaultValue(PropertyBuilder, Object)

Nakonfiguruje výchozí hodnotu pro sloupec, na který se vlastnost mapuje při cílení na SQL Server.

ForSqlServerHasDefaultValueSql(PropertyBuilder, String)

Nakonfiguruje výchozí výraz hodnoty pro sloupec, na který se vlastnost mapuje při cílení na SQL Server.

ForSqlServerUseSequenceHiLo(PropertyBuilder, String, String)
Zastaralé..

Nakonfiguruje vlastnost klíče tak, aby při cílení na SQL Server používala vzor hi-lo založený na posloupnosti ke generování hodnot pro nové entity. Tato metoda nastaví vlastnost na OnAdd.

IsSparse(PropertyBuilder, Boolean)

Konfiguruje, jestli se při cílení na SQL Server vytvoří sloupec vlastnosti jako zhuštěný.

UseHiLo(PropertyBuilder, String, String)

Nakonfiguruje vlastnost key tak, aby při cílení na SQL Server používala vzor hi-lo založený na sekvenčním základě k vygenerování hodnot pro nové entity. Tato metoda nastaví vlastnost na OnAdd.

UseIdentityColumn(PropertyBuilder, Int32, Int32)

Nakonfiguruje vlastnost key tak, aby při cílení na SQL Server používala funkci SQL Server IDENTITY ke generování hodnot pro nové entity. Tato metoda nastaví vlastnost na OnAdd.

UseIdentityColumn(PropertyBuilder, Int64, Int32)

Nakonfiguruje vlastnost key tak, aby při cílení na SQL Server používala funkci SQL Server IDENTITY ke generování hodnot pro nové entity. Tato metoda nastaví vlastnost na OnAdd.

UseSequence(PropertyBuilder, String, String)

Konfiguruje vlastnost klíče tak, aby při cílení na SQL Server používala vzor generování hodnot klíče založený na sekvenčním základě k vygenerování hodnot pro nové entity. Tato metoda nastaví vlastnost na OnAdd.

UseSqlServerIdentityColumn(PropertyBuilder)

Nakonfiguruje vlastnost key tak, aby při cílení na SQL Server používala funkci SQL Server IDENTITY ke generování hodnot pro nové entity. Tato metoda nastaví vlastnost na OnAdd.

UseSqlServerIdentityColumn(PropertyBuilder, Int32, Int32)
Zastaralé..

Nakonfiguruje vlastnost key tak, aby při cílení na SQL Server používala funkci SQL Server IDENTITY ke generování hodnot pro nové entity. Tato metoda nastaví vlastnost na OnAdd.

Platí pro