Udostępnij za pośrednictwem


PropertyBuilder Klasa

Definicja

Udostępnia prosty interfejs API do konfigurowania elementu 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)
Dziedziczenie
PropertyBuilder
Pochodne
Implementuje
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalPropertyBuilder> IInfrastructure<IConventionPropertyBuilder>

Uwagi

Wystąpienia tej klasy są zwracane z metod przy użyciu interfejsu ModelBuilder API i nie są przeznaczone do bezpośredniej konstrukcji w kodzie aplikacji.

Aby uzyskać więcej informacji i przykładów, zobacz Modelowanie typów jednostek i relacji .

Konstruktory

PropertyBuilder(IMutableProperty)

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę platformy Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można je zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio bezpośrednio w kodzie z wyjątkową ostrożnością i wiedząc, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji programu Entity Framework Core.

PropertyBuilder(InternalPropertyBuilder)

Ten interfejs API obsługuje infrastrukturę platformy Entity Framework Core i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu. Ten interfejs API może ulec zmianie lub zostać usunięty w przyszłych wersjach.

Właściwości

Metadata

Konfigurowana właściwość.

Metody

HasAnnotation(String, Object)

Dodaje lub aktualizuje adnotację we właściwości . Jeśli adnotacja z kluczem określonym w annotation już istnieje, zostanie zaktualizowana jego wartość.

HasConversion(Type)

Konfiguruje właściwość tak, aby wartość właściwości została przekonwertowana przed zapisem w bazie danych i przekonwertowana z powrotem podczas odczytywania z bazy danych.

HasConversion(Type, Type)

Konfiguruje właściwość tak, aby wartość właściwości została przekonwertowana przed zapisem w bazie danych i przekonwertowana z powrotem podczas odczytywania z bazy danych.

HasConversion(Type, Type, Type)

Konfiguruje właściwość tak, aby wartość właściwości została przekonwertowana przed zapisem w bazie danych i przekonwertowana z powrotem podczas odczytywania z bazy danych.

HasConversion(Type, ValueComparer)

Konfiguruje właściwość tak, aby wartość właściwości została przekonwertowana przed zapisem w bazie danych i przekonwertowana z powrotem podczas odczytywania z bazy danych.

HasConversion(Type, ValueComparer, ValueComparer)

Konfiguruje właściwość tak, aby wartość właściwości została przekonwertowana przed zapisem w bazie danych i przekonwertowana z powrotem podczas odczytywania z bazy danych.

HasConversion(ValueConverter)

Konfiguruje właściwość tak, aby wartość właściwości została przekonwertowana na i z bazy danych przy użyciu podanego ValueConverterelementu .

HasConversion(ValueConverter, ValueComparer)

Konfiguruje właściwość tak, aby wartość właściwości została przekonwertowana na i z bazy danych przy użyciu podanego ValueConverterelementu .

HasConversion(ValueConverter, ValueComparer, ValueComparer)

Konfiguruje właściwość tak, aby wartość właściwości została przekonwertowana na i z bazy danych przy użyciu podanego ValueConverterelementu .

HasConversion<TConversion,TComparer,TProviderComparer>()

Konfiguruje właściwość tak, aby wartość właściwości została przekonwertowana przed zapisem w bazie danych i przekonwertowana z powrotem podczas odczytywania z bazy danych.

HasConversion<TConversion,TComparer>()

Konfiguruje właściwość tak, aby wartość właściwości została przekonwertowana przed zapisem w bazie danych i przekonwertowana z powrotem podczas odczytywania z bazy danych.

HasConversion<TConversion>()

Konfiguruje właściwość tak, aby wartość właściwości została przekonwertowana przed zapisem w bazie danych i przekonwertowana z powrotem podczas odczytywania z bazy danych.

HasConversion<TConversion>(ValueComparer)

Konfiguruje właściwość tak, aby wartość właściwości została przekonwertowana przed zapisem w bazie danych i przekonwertowana z powrotem podczas odczytywania z bazy danych.

HasConversion<TConversion>(ValueComparer, ValueComparer)

Konfiguruje właściwość tak, aby wartość właściwości została przekonwertowana przed zapisem w bazie danych i przekonwertowana z powrotem podczas odczytywania z bazy danych.

HasField(String)

Ustawia pole zapasowe do użycia dla tej właściwości.

HasMaxLength(Int32)

Konfiguruje maksymalną długość danych, które mogą być przechowywane w tej właściwości. Maksymalna długość można ustawić tylko we właściwościach tablicy (w tym String właściwościach).

HasPrecision(Int32)

Konfiguruje dokładność właściwości.

HasPrecision(Int32, Int32)

Konfiguruje precyzję i skalę właściwości.

HasSentinel(Object)

Konfiguruje wartość, która będzie używana do określania, czy właściwość została ustawiona, czy nie. Jeśli właściwość jest ustawiona na wartość sentinel, jest uważana za nie ustawioną. Domyślnie wartość sentinel jest wartością domyślną CLR dla typu właściwości.

HasValueGenerator(Func<IProperty,IEntityType,ValueGenerator>)

Konfiguruje fabrykę do utworzenia obiektu ValueGenerator do użycia do generowania wartości dla tej właściwości.

HasValueGenerator(Func<IProperty,ITypeBase,ValueGenerator>)

Konfiguruje fabrykę do utworzenia obiektu ValueGenerator do użycia do generowania wartości dla tej właściwości.

HasValueGenerator(Type)

Konfiguruje ValueGenerator wartość, która będzie generować wartości dla tej właściwości.

HasValueGenerator<TGenerator>()

Konfiguruje ValueGenerator wartość, która będzie generować wartości dla tej właściwości.

HasValueGeneratorFactory(Type)

Konfiguruje element ValueGeneratorFactory do tworzenia elementu ValueGenerator do użycia do generowania wartości dla tej właściwości.

HasValueGeneratorFactory<TFactory>()

Konfiguruje element ValueGeneratorFactory do tworzenia elementu ValueGenerator do użycia do generowania wartości dla tej właściwości.

IsConcurrencyToken(Boolean)

Określa, czy ta właściwość powinna być używana jako token współbieżności. Gdy właściwość jest skonfigurowana jako token współbieżności, wartość w bazie danych zostanie sprawdzona po zaktualizowaniu lub usunięciu wystąpienia tego typu jednostki w SaveChanges() celu upewnienia się, że nie uległa zmianie od czasu pobrania wystąpienia z bazy danych. W przypadku zmiany zostanie zgłoszony wyjątek, a zmiany nie zostaną zastosowane do bazy danych.

IsRequired(Boolean)

Określa, czy ta właściwość musi mieć przypisaną wartość, czy null jest prawidłową wartością. Właściwość można skonfigurować tylko jako niewymaganą, jeśli jest oparta na typie CLR, który można przypisać null.

IsRowVersion()

Konfiguruje właściwość jako ValueGeneratedOnAddOrUpdate() i IsConcurrencyToken(Boolean).

IsUnicode(Boolean)

Określa, czy właściwość jest w stanie utrwalać znaki Unicode. Można ustawić tylko we String właściwościach.

UsePropertyAccessMode(PropertyAccessMode)

Ustawia właściwość PropertyAccessMode , która ma być używana dla tej właściwości.

Domyślnie pole kopii zapasowej, jeśli zostanie znalezione zgodnie z konwencją lub zostało określone, jest używane podczas konstruowania nowych obiektów, zazwyczaj gdy jednostki są odpytywane z bazy danych. Właściwości są używane dla wszystkich innych dostępu. Wywołanie tej metody powoduje zmianę tego zachowania dla tej właściwości zgodnie z opisem wyliczenia PropertyAccessMode .

Wywołanie tej metody przesłonięć dla tej właściwości dowolnego trybu dostępu ustawionego dla typu jednostki lub modelu.

UsePropertyAccessMode(PropertyAccessMode)

Ustawia właściwość PropertyAccessMode , która ma być używana dla tej właściwości.

ValueGeneratedNever()

Konfiguruje właściwość tak, aby nigdy nie miała wartości wygenerowanej przez bazę danych po zapisaniu wystąpienia tego typu jednostki.

ValueGeneratedOnAdd()

Konfiguruje właściwość tak, aby wartość była generowana tylko podczas zapisywania nowej jednostki, chyba że ustawiono wartość inną niż null, a nie tymczasową, w tym przypadku zostanie zapisana wartość ustawiona. Wartość może być generowana przez generator wartości po stronie klienta lub może być generowana przez bazę danych w ramach zapisywania jednostki.

ValueGeneratedOnAddOrUpdate()

Konfiguruje właściwość tak, aby wartość została wygenerowana podczas zapisywania nowej lub istniejącej jednostki.

ValueGeneratedOnUpdate()

Konfiguruje właściwość tak, aby wartość została wygenerowana podczas zapisywania istniejącej jednostki.

ValueGeneratedOnUpdateSometimes()

Konfiguruje właściwość tak, aby wartość wygenerowana w określonych warunkach podczas zapisywania istniejącej jednostki.

Jawne implementacje interfejsu

IInfrastructure<IConventionPropertyBuilder>.Instance

Konstruktor wewnętrzny używany do konfigurowania właściwości.

IInfrastructure<IMutableModel>.Instance

Model, do którego należy właściwość.

IInfrastructure<InternalPropertyBuilder>.Instance

Konstruktor wewnętrzny używany do konfigurowania właściwości.

Metody rozszerzania

IsETagConcurrency(PropertyBuilder)

Konfiguruje tę właściwość jako token współbieżności etag.

ToJsonProperty(PropertyBuilder, String)

Konfiguruje nazwę właściwości, na którą właściwość jest mapowana podczas określania wartości docelowej usługi Azure Cosmos.

GetInfrastructure<T>(IInfrastructure<T>)

Pobiera wartość z właściwości ukrytej przy użyciu polecenia IInfrastructure<T>.

Ta metoda jest zwykle używana przez dostawców baz danych (i innych rozszerzeń). Zwykle nie jest używany w kodzie aplikacji.

HasColumnName(PropertyBuilder, String)

Konfiguruje kolumnę, na którą właściwość jest mapowana podczas określania wartości docelowej relacyjnej bazy danych.

HasColumnOrder(PropertyBuilder, Nullable<Int32>)

Konfiguruje kolejność kolumny, na która jest mapowana właściwość.

HasColumnType(PropertyBuilder, String)

Konfiguruje typ danych kolumny, do którego jest mapowanie właściwości podczas określania wartości docelowej relacyjnej bazy danych. Powinna to być kompletna nazwa typu, w tym precyzja, skala, długość itp.

HasComment(PropertyBuilder, String)

Konfiguruje komentarz do zastosowania do kolumny

HasComputedColumnSql(PropertyBuilder)

Konfiguruje właściwość do mapowania na kolumnę obliczaną podczas określania wartości docelowej relacyjnej bazy danych.

HasComputedColumnSql(PropertyBuilder, String)

Konfiguruje właściwość do mapowania na kolumnę obliczaną podczas określania wartości docelowej relacyjnej bazy danych.

HasComputedColumnSql(PropertyBuilder, String, Nullable<Boolean>)

Konfiguruje właściwość do mapowania na kolumnę obliczaną podczas określania wartości docelowej relacyjnej bazy danych.

HasDefaultValue(PropertyBuilder)

Konfiguruje wartość domyślną dla kolumny, na którą jest mapowanie właściwości podczas określania wartości docelowej relacyjnej bazy danych.

HasDefaultValue(PropertyBuilder, Object)

Konfiguruje wartość domyślną dla kolumny, na którą jest mapowanie właściwości podczas określania wartości docelowej relacyjnej bazy danych.

HasDefaultValueSql(PropertyBuilder)

Konfiguruje domyślne wyrażenie wartości dla kolumny, na którą jest mapowanie właściwości podczas określania wartości docelowej relacyjnej bazy danych.

HasDefaultValueSql(PropertyBuilder, String)

Konfiguruje domyślne wyrażenie wartości dla kolumny, na którą jest mapowanie właściwości podczas określania wartości docelowej relacyjnej bazy danych.

HasJsonPropertyName(PropertyBuilder, String)

Konfiguruje właściwość jednostki zamapowanej na kolumnę JSON, mapuje właściwość jednostki na określoną właściwość JSON, zamiast używać nazwy właściwości jednostki.

IsFixedLength(PropertyBuilder, Boolean)

Konfiguruje właściwość jako zdolną do przechowywania tylko danych o stałej długości, takich jak ciągi.

UseCollation(PropertyBuilder, String)

Konfiguruje właściwość tak, aby korzystała z danego sortowania. Kolumna bazy danych zostanie utworzona przy użyciu danego sortowania i będzie używana niejawnie we wszystkich operacjach wrażliwych na sortowanie.

ForSqliteHasDimension(PropertyBuilder, Ordinates)

Konfiguruje wymiar kolumny, do którego jest mapowanie właściwości podczas określania wartości SQLite.

ForSqliteHasDimension(PropertyBuilder, Ordinates)
Nieaktualne..

Konfiguruje wymiar kolumny, do którego jest mapowanie właściwości podczas określania wartości SQLite.

HasGeometricDimension(PropertyBuilder, Ordinates)

Konfiguruje wymiar kolumny, do którego jest mapowanie właściwości podczas określania wartości SQLite.

ForSqliteHasColumnName(PropertyBuilder, String)

Konfiguruje kolumnę mapowania właściwości na element docelowy SQLite.

ForSqliteHasColumnType(PropertyBuilder, String)

Konfiguruje typ danych kolumny, do którego jest mapowanie właściwości podczas określania wartości SQLite.

ForSqliteHasDefaultValue(PropertyBuilder, Object)

Konfiguruje wartość domyślną dla kolumny, na którą jest mapowanie właściwości w przypadku określania wartości docelowej SQLite.

ForSqliteHasDefaultValueSql(PropertyBuilder, String)

Konfiguruje domyślne wyrażenie wartości dla kolumny, na którą jest mapowanie właściwości podczas określania wartości docelowej SQLite.

ForSqliteHasSrid(PropertyBuilder, Int32)
Nieaktualne..

Konfiguruje identyfikator SRID kolumny, na którą właściwość jest mapowana podczas określania wartości SQLite.

HasSrid(PropertyBuilder, Int32)

Konfiguruje identyfikator SRID kolumny, na którą właściwość jest mapowana podczas określania wartości SQLite.

ForSqlServerHasColumnName(PropertyBuilder, String)

Konfiguruje kolumnę, na którą jest mapowanie właściwości podczas określania wartości docelowej SQL Server.

ForSqlServerHasColumnType(PropertyBuilder, String)

Konfiguruje typ danych kolumny, do którego jest mapowanie właściwości podczas określania wartości docelowej SQL Server. Powinna to być kompletna nazwa typu, w tym precyzja, skala, długość itp.

ForSqlServerHasComputedColumnSql(PropertyBuilder, String)

Konfiguruje właściwość do mapowania na obliczoną kolumnę podczas określania wartości docelowej SQL Server.

ForSqlServerHasDefaultValue(PropertyBuilder, Object)

Konfiguruje wartość domyślną dla kolumny, na którą jest mapowanie właściwości podczas określania wartości docelowej SQL Server.

ForSqlServerHasDefaultValueSql(PropertyBuilder, String)

Konfiguruje domyślne wyrażenie wartości dla kolumny, na którą jest mapowanie właściwości podczas określania wartości docelowej SQL Server.

ForSqlServerUseSequenceHiLo(PropertyBuilder, String, String)
Nieaktualne..

Konfiguruje właściwość klucza tak, aby używała wzorca hi-lo opartego na sekwencji w celu generowania wartości dla nowych jednostek podczas określania wartości docelowych SQL Server. Ta metoda ustawia właściwość na wartość OnAdd.

IsSparse(PropertyBuilder, Boolean)

Określa, czy kolumna właściwości jest tworzona jako rozrzedzona podczas określania wartości docelowej SQL Server.

UseHiLo(PropertyBuilder, String, String)

Konfiguruje właściwość klucza, aby używać wzorca hi-lo opartego na sekwencji do generowania wartości dla nowych jednostek podczas określania wartości docelowych SQL Server. Ta metoda ustawia właściwość na wartość OnAdd.

UseIdentityColumn(PropertyBuilder, Int32, Int32)

Konfiguruje właściwość klucza tak, aby używała funkcji SQL Server IDENTITY do generowania wartości dla nowych jednostek podczas określania wartości docelowych SQL Server. Ta metoda ustawia właściwość na wartość OnAdd.

UseIdentityColumn(PropertyBuilder, Int64, Int32)

Konfiguruje właściwość klucza tak, aby używała funkcji SQL Server IDENTITY do generowania wartości dla nowych jednostek podczas określania wartości docelowych SQL Server. Ta metoda ustawia właściwość na wartość OnAdd.

UseSequence(PropertyBuilder, String, String)

Konfiguruje właściwość klucza tak, aby używała wzorca generowania wartości klucza opartego na sekwencjach do generowania wartości dla nowych jednostek podczas określania wartości docelowych SQL Server. Ta metoda ustawia właściwość na wartość OnAdd.

UseSqlServerIdentityColumn(PropertyBuilder)

Konfiguruje właściwość klucza tak, aby używała funkcji SQL Server IDENTITY do generowania wartości dla nowych jednostek podczas określania wartości docelowych SQL Server. Ta metoda ustawia właściwość na wartość OnAdd.

UseSqlServerIdentityColumn(PropertyBuilder, Int32, Int32)
Nieaktualne..

Konfiguruje właściwość klucza tak, aby używała funkcji SQL Server IDENTITY do generowania wartości dla nowych jednostek podczas określania wartości docelowych SQL Server. Ta metoda ustawia właściwość na wartość OnAdd.

Dotyczy