Jazyk

PropertyBuilder Třída

Definice

Poskytuje jednoduché rozhraní API pro konfiguraci IMutablePropertyrozhraní .

public class PropertyBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.IMutableModel>, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalPropertyBuilder>
[System.Runtime.CompilerServices.Nullable(0)]
public class PropertyBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionPropertyBuilder>
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>
[<System.Runtime.CompilerServices.Nullable(0)>]
type PropertyBuilder = class
    interface IInfrastructure<IConventionPropertyBuilder>
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 IConventionPropertyBuilder)
Public Class PropertyBuilder
Implements IInfrastructure(Of InternalPropertyBuilder)
Dědičnost
PropertyBuilder
Odvozené
Atributy
Implementuje
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalPropertyBuilder> IInfrastructure<IConventionPropertyBuilder>

Poznámky

Instance této třídy jsou vráceny z metod při použití ModelBuilder rozhraní API a není navržena tak, aby byla přímo vytvořena v kódu aplikace.

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

Konstruktory

Název Description
PropertyBuilder(IMutableProperty)

Jedná se o interní rozhraní API, které podporuje infrastrukturu Entity Framework Core a nevztahuje se na stejné standardy kompatibility jako veřejná rozhraní API. Může se změnit nebo odebrat bez upozornění v jakékoli verzi. Měli byste ho používat přímo ve svém kódu s extrémní opatrností a vědět, že to může vést k selháním aplikace při aktualizaci na novou Entity Framework Core verzi.

PropertyBuilder(InternalPropertyBuilder)

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

Vlastnosti

Název Description
Metadata

Vlastnost, která se konfiguruje.

Metody

Název Description
HasAnnotation(String, Object)

Přidá nebo aktualizuje poznámku k vlastnosti. Pokud anotaci s klíčem zadaným v annotation tomto klíči již existuje, aktualizuje se jeho hodnota.

HasConversion(Type, Type, Type)

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

HasConversion(Type, Type)

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

HasConversion(Type, ValueComparer, ValueComparer)

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

HasConversion(Type, ValueComparer)

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

HasConversion(Type)

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

HasConversion(ValueConverter, ValueComparer, ValueComparer)

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

HasConversion(ValueConverter, ValueComparer)

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

HasConversion(ValueConverter)

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

HasConversion<TConversion,TComparer,TProviderComparer>()

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

HasConversion<TConversion,TComparer>()

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

HasConversion<TConversion>()

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

HasConversion<TConversion>(ValueComparer, ValueComparer)

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

HasConversion<TConversion>(ValueComparer)

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

HasField(String)

Nastaví backing pole pro použití pro tuto vlastnost.

HasMaxLength(Int32)

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

HasPrecision(Int32, Int32)

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

HasPrecision(Int32)

Nakonfiguruje přesnost vlastnosti.

HasSentinel(Object)

Nakonfiguruje 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>)

Nakonfiguruje továrnu pro vytvoření objektu ValueGenerator pro generování hodnot pro tuto vlastnost.

HasValueGenerator(Func<IProperty,ITypeBase,ValueGenerator>)

Nakonfiguruje továrnu pro vytvoření objektu ValueGenerator pro generování hodnot pro tuto vlastnost.

HasValueGenerator(Type)

Nakonfiguruje, která vygeneruje ValueGenerator hodnoty pro tuto vlastnost.

HasValueGenerator<TGenerator>()

Nakonfiguruje, která vygeneruje ValueGenerator hodnoty pro tuto vlastnost.

HasValueGeneratorFactory(Type)

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

HasValueGeneratorFactory<TFactory>()

Konfiguruje pro vytvoření použití 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, SaveChanges() aby se zajistilo, že nedošlo ke změně, protože instance byla načtena z databáze. Pokud došlo 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 platná hodnota. Vlastnost lze nakonfigurovat pouze jako nepožadovanou, pokud 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 schopná zachovat znaky Unicode. Lze nastavit pouze u String vlastností.

UsePropertyAccessMode(PropertyAccessMode)

PropertyAccessMode Nastaví použití pro tuto vlastnost.

Ve výchozím nastavení se backingové pole, pokud je nalezeno podle konvence nebo bylo zadáno, používá se 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 v výčtu PropertyAccessMode .

Volání této metody přečítá pro tuto vlastnost jakýkoli režim přístupu, který byl nastaven na typ entity nebo model.

UsePropertyAccessMode(PropertyAccessMode)

PropertyAccessMode Nastaví použití pro 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 nebyla nastavena nenulová, ne dočasná hodnota, v takovém případě se hodnota sady uloží. Hodnotu může vygenerovat generátor hodnot na straně klienta nebo může být vygenerována databází jako součást 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í

Název Description
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í

Název Description
EnableFullTextSearch(PropertyBuilder, String, Boolean)

Umožňuje fulltextové vyhledávání této vlastnosti pomocí zadaného jazyka.

ForSqliteHasColumnName(PropertyBuilder, String)

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

ForSqliteHasColumnType(PropertyBuilder, String)

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

ForSqliteHasDimension(PropertyBuilder, Ordinates)

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

ForSqliteHasDimension(PropertyBuilder, Ordinates)
Zastaralé.

Konfiguruje dimenzi sloupce, 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.

ForSqlServerHasColumnName(PropertyBuilder, String)

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

ForSqlServerHasColumnType(PropertyBuilder, String)

Nakonfiguruje datový typ sloupce, na který se vlastnost mapuje při cílení na SQL Server. Musí se jednat o úplný název typu, včetně přesnosti, měřítka, délky atd.

ForSqlServerHasComputedColumnSql(PropertyBuilder, String)

Nakonfiguruje vlastnost pro mapování na počí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žila vzor hi-lo založený na sekvenci k vygenerování hodnot pro nové entity. Tato metoda nastaví vlastnost být OnAdd.

GetInfrastructure<T>(IInfrastructure<T>)

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

Tuto metodu obvykle používají poskytovatelé databáze (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ý se vlastnost mapuje.

HasColumnType(PropertyBuilder, String)

Nakonfiguruje datový typ sloupce, na který se vlastnost mapuje při cílení na relační databázi. Musí se jednat o úplný název typu, včetně přesnosti, měřítka, délky atd.

HasComment(PropertyBuilder, String)

Nakonfiguruje komentář, který se má použít pro sloupec.

HasComputedColumnSql(PropertyBuilder, String, Nullable<Boolean>)

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

HasComputedColumnSql(PropertyBuilder, String)

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

HasComputedColumnSql(PropertyBuilder)

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

HasDefaultValue(PropertyBuilder, Object, String)

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

HasDefaultValue(PropertyBuilder, Object)

Nakonfiguruje výchozí hodnotu pro sloupec, na který se vlastnost mapuje 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.

HasDefaultValueSql(PropertyBuilder, String, String)

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

HasDefaultValueSql(PropertyBuilder, String)

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

HasDefaultValueSql(PropertyBuilder)

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

HasGeometricDimension(PropertyBuilder, Ordinates)

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

HasJsonPropertyName(PropertyBuilder, String)

Nakonfiguruje vlastnost entity namapované na sloupec JSON, namapuje vlastnost entity na konkrétní vlastnost JSON místo použití názvu vlastnosti entity.

HasSrid(PropertyBuilder, Int32)

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

IsETagConcurrency(PropertyBuilder)

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

IsFixedLength(PropertyBuilder, Boolean)

Nakonfiguruje vlastnost jako schopnou ukládat pouze data s pevnou délkou, jako jsou řetězce.

IsSparse(PropertyBuilder, Boolean)

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

IsVector(PropertyBuilder, DistanceFunction, Int32)

Nakonfiguruje vlastnost jako vektor pro Azure Cosmos DB.

IsVectorProperty(PropertyBuilder, DistanceFunction, Int32)

Nakonfiguruje vlastnost jako vektor pro Azure Cosmos DB.

ToJsonProperty(PropertyBuilder, String)

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

UseAutoincrement(PropertyBuilder)

Nakonfiguruje vlastnost pro použití funkce SQLite AUTOINCREMENT ke generování hodnot pro nové entity při cílení na SQLite. Tato metoda nastaví vlastnost být OnAdd.

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.

UseHiLo(PropertyBuilder, String, String)

Nakonfiguruje vlastnost klíče tak, aby při cílení na SQL Server použila vzor hi-lo založený na sekvenci k vygenerování hodnot pro nové entity. Tato metoda nastaví vlastnost být OnAdd.

UseIdentityColumn(PropertyBuilder, Int32, Int32)

Nakonfiguruje vlastnost klíče 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 být OnAdd.

UseIdentityColumn(PropertyBuilder, Int64, Int32)

Nakonfiguruje vlastnost klíče 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 být OnAdd.

UseSequence(PropertyBuilder, String, String)

Nakonfiguruje vlastnost klíče tak, aby při cílení na SQL Server generovala hodnoty pro nové entity pomocí vzoru generování hodnot klíčových hodnot založených na sekvenci. Tato metoda nastaví vlastnost být OnAdd.

UseSqlServerIdentityColumn(PropertyBuilder, Int32, Int32)
Zastaralé.

Nakonfiguruje vlastnost klíče 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 být OnAdd.

UseSqlServerIdentityColumn(PropertyBuilder)

Nakonfiguruje vlastnost klíče 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 být OnAdd.

Platí pro