Freigeben über


PropertyBuilder Klasse

Definition

Stellt eine einfache API zum Konfigurieren eines bereit 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)
Vererbung
PropertyBuilder
Abgeleitet
Implementiert
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalPropertyBuilder> IInfrastructure<IConventionPropertyBuilder>

Hinweise

Instanzen dieser Klasse werden von Methoden zurückgegeben, wenn die ModelBuilder API verwendet wird, und sie ist nicht für die direkte Erstellung im Anwendungscode konzipiert.

Weitere Informationen und Beispiele finden Sie unter Modellieren von Entitätstypen und Beziehungen .

Konstruktoren

PropertyBuilder(IMutableProperty)

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Es kann ohne Vorankündigung in einer Version geändert oder entfernt werden. Sie sollten es nur mit äußerster Vorsicht direkt im Code verwenden und wissen, dass dies beim Aktualisieren auf ein neues Entity Framework Core-Release zu Anwendungsfehlern führen kann.

PropertyBuilder(InternalPropertyBuilder)

Diese API unterstützt die Entity Framework Core-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. Diese API kann sich ändern oder in zukünftigen Releases entfernt werden.

Eigenschaften

Metadata

Die eigenschaft, die konfiguriert wird.

Methoden

HasAnnotation(String, Object)

Fügt der -Eigenschaft eine Anmerkung hinzu oder aktualisiert sie. Wenn eine Anmerkung mit dem in annotation angegebenen Schlüssel bereits vorhanden ist, wird ihr Wert aktualisiert.

HasConversion(Type)

Konfiguriert die Eigenschaft so, dass der Eigenschaftswert vor dem Schreiben in die Datenbank konvertiert und beim Lesen aus der Datenbank wieder konvertiert wird.

HasConversion(Type, Type)

Konfiguriert die Eigenschaft so, dass der Eigenschaftswert vor dem Schreiben in die Datenbank konvertiert und beim Lesen aus der Datenbank wieder konvertiert wird.

HasConversion(Type, Type, Type)

Konfiguriert die Eigenschaft so, dass der Eigenschaftswert vor dem Schreiben in die Datenbank konvertiert und beim Lesen aus der Datenbank wieder konvertiert wird.

HasConversion(Type, ValueComparer)

Konfiguriert die Eigenschaft so, dass der Eigenschaftswert vor dem Schreiben in die Datenbank konvertiert und beim Lesen aus der Datenbank wieder konvertiert wird.

HasConversion(Type, ValueComparer, ValueComparer)

Konfiguriert die Eigenschaft so, dass der Eigenschaftswert vor dem Schreiben in die Datenbank konvertiert und beim Lesen aus der Datenbank wieder konvertiert wird.

HasConversion(ValueConverter)

Konfiguriert die -Eigenschaft so, dass der Eigenschaftswert mithilfe des angegebenen ValueConverterin und aus der Datenbank konvertiert wird.

HasConversion(ValueConverter, ValueComparer)

Konfiguriert die -Eigenschaft so, dass der Eigenschaftswert mithilfe des angegebenen ValueConverterin und aus der Datenbank konvertiert wird.

HasConversion(ValueConverter, ValueComparer, ValueComparer)

Konfiguriert die -Eigenschaft so, dass der Eigenschaftswert mithilfe des angegebenen ValueConverterin und aus der Datenbank konvertiert wird.

HasConversion<TConversion,TComparer,TProviderComparer>()

Konfiguriert die Eigenschaft so, dass der Eigenschaftswert vor dem Schreiben in die Datenbank konvertiert und beim Lesen aus der Datenbank wieder konvertiert wird.

HasConversion<TConversion,TComparer>()

Konfiguriert die Eigenschaft so, dass der Eigenschaftswert vor dem Schreiben in die Datenbank konvertiert und beim Lesen aus der Datenbank wieder konvertiert wird.

HasConversion<TConversion>()

Konfiguriert die Eigenschaft so, dass der Eigenschaftswert vor dem Schreiben in die Datenbank konvertiert und beim Lesen aus der Datenbank wieder konvertiert wird.

HasConversion<TConversion>(ValueComparer)

Konfiguriert die Eigenschaft so, dass der Eigenschaftswert vor dem Schreiben in die Datenbank konvertiert und beim Lesen aus der Datenbank wieder konvertiert wird.

HasConversion<TConversion>(ValueComparer, ValueComparer)

Konfiguriert die Eigenschaft so, dass der Eigenschaftswert vor dem Schreiben in die Datenbank konvertiert und beim Lesen aus der Datenbank wieder konvertiert wird.

HasField(String)

Legt das Sicherungsfeld fest, das für diese Eigenschaft verwendet werden soll.

HasMaxLength(Int32)

Konfiguriert die maximale Länge von Daten, die in dieser Eigenschaft gespeichert werden können. Die maximale Länge kann nur für Arrayeigenschaften (einschließlich String Eigenschaften) festgelegt werden.

HasPrecision(Int32)

Konfiguriert die Genauigkeit der Eigenschaft.

HasPrecision(Int32, Int32)

Konfiguriert die Genauigkeit und Skalierung der Eigenschaft.

HasSentinel(Object)

Konfiguriert den Wert, der verwendet wird, um zu bestimmen, ob die Eigenschaft festgelegt wurde oder nicht. Wenn die Eigenschaft auf den Sentinelwert festgelegt ist, gilt sie als nicht festgelegt. Standardmäßig ist der Sentinel-Wert der CLR-Standardwert für den Typ der Eigenschaft.

HasValueGenerator(Func<IProperty,IEntityType,ValueGenerator>)

Konfiguriert eine Factory zum Erstellen einer ValueGenerator , die zum Generieren von Werten für diese Eigenschaft verwendet werden soll.

HasValueGenerator(Func<IProperty,ITypeBase,ValueGenerator>)

Konfiguriert eine Factory zum Erstellen einer ValueGenerator , die zum Generieren von Werten für diese Eigenschaft verwendet werden soll.

HasValueGenerator(Type)

Konfiguriert das ValueGenerator , das Werte für diese Eigenschaft generiert.

HasValueGenerator<TGenerator>()

Konfiguriert das ValueGenerator , das Werte für diese Eigenschaft generiert.

HasValueGeneratorFactory(Type)

Konfiguriert das ValueGeneratorFactory zum Erstellen eines ValueGenerator , das zum Generieren von Werten für diese Eigenschaft verwendet werden soll.

HasValueGeneratorFactory<TFactory>()

Konfiguriert das ValueGeneratorFactory zum Erstellen eines ValueGenerator , das zum Generieren von Werten für diese Eigenschaft verwendet werden soll.

IsConcurrencyToken(Boolean)

Konfiguriert, ob diese Eigenschaft als Parallelitätstoken verwendet werden soll. Wenn eine Eigenschaft als Parallelitätstoken konfiguriert ist, wird der Wert in der Datenbank überprüft, wenn ein instance dieses Entitätstyps aktualisiert oder gelöscht wird, SaveChanges() um sicherzustellen, dass er sich seit dem Abrufen des instance aus der Datenbank nicht geändert hat. Wenn sie geändert wurde, wird eine Ausnahme ausgelöst, und die Änderungen werden nicht auf die Datenbank angewendet.

IsRequired(Boolean)

Konfiguriert, ob dieser Eigenschaft ein Wert zugewiesen werden muss oder null ein gültiger Wert ist. Eine Eigenschaft kann nur als nicht erforderlich konfiguriert werden, wenn sie auf einem CLR-Typ basiert, der zugewiesen nullwerden kann.

IsRowVersion()

Konfiguriert die -Eigenschaft als ValueGeneratedOnAddOrUpdate() und IsConcurrencyToken(Boolean).

IsUnicode(Boolean)

Konfiguriert, ob die -Eigenschaft unicode-Zeichen beibehalten kann. Kann nur für String Eigenschaften festgelegt werden.

UsePropertyAccessMode(PropertyAccessMode)

Legt fest, dass PropertyAccessMode für diese Eigenschaft verwendet werden soll.

Standardmäßig wird das Sicherungsfeld verwendet, wenn es aufgrund der Konvention gefunden oder angegeben wurde, wenn neue Objekte erstellt werden, in der Regel, wenn Entitäten aus der Datenbank abgefragt werden. Eigenschaften werden für alle anderen Zugriffe verwendet. Wenn Sie diese Methode aufrufen, ändern Sie dieses Verhalten für diese Eigenschaft, wie in der PropertyAccessMode Enumeration beschrieben.

Das Aufrufen dieser Methode überschreibt für diese Eigenschaft jeden Zugriffsmodus, der für den Entitätstyp oder das Modell festgelegt wurde.

UsePropertyAccessMode(PropertyAccessMode)

Legt fest, dass PropertyAccessMode für diese Eigenschaft verwendet werden soll.

ValueGeneratedNever()

Konfiguriert eine Eigenschaft so, dass nie ein Wert von der Datenbank generiert wird, wenn ein instance dieses Entitätstyps gespeichert wird.

ValueGeneratedOnAdd()

Konfiguriert eine Eigenschaft so, dass nur beim Speichern einer neuen Entität ein Wert generiert wird, es sei denn, es wurde ein nicht-NULL-, nicht temporärer Wert festgelegt. In diesem Fall wird stattdessen der Setwert gespeichert. Der Wert kann von einem clientseitigen Wertgenerator generiert oder von der Datenbank beim Speichern der Entität generiert werden.

ValueGeneratedOnAddOrUpdate()

Konfiguriert eine Eigenschaft so, dass beim Speichern einer neuen oder vorhandenen Entität ein Wert generiert wird.

ValueGeneratedOnUpdate()

Konfiguriert eine Eigenschaft so, dass beim Speichern einer vorhandenen Entität ein Wert generiert wird.

ValueGeneratedOnUpdateSometimes()

Konfiguriert eine Eigenschaft so, dass beim Speichern einer vorhandenen Entität unter bestimmten Bedingungen ein Wert generiert wird.

Explizite Schnittstellenimplementierungen

IInfrastructure<IConventionPropertyBuilder>.Instance

Der interne Generator, der zum Konfigurieren der Eigenschaft verwendet wird.

IInfrastructure<IMutableModel>.Instance

Das Modell, zu dem die -Eigenschaft gehört.

IInfrastructure<InternalPropertyBuilder>.Instance

Der interne Generator, der zum Konfigurieren der Eigenschaft verwendet wird.

Erweiterungsmethoden

IsETagConcurrency(PropertyBuilder)

Konfiguriert diese Eigenschaft als etag-Parallelitätstoken.

ToJsonProperty(PropertyBuilder, String)

Konfiguriert den Eigenschaftennamen, dem die Eigenschaft zugeordnet wird, wenn Azure Cosmos als Ziel verwendet wird.

GetInfrastructure<T>(IInfrastructure<T>)

Ruft den Wert aus einer Eigenschaft ab, die mit IInfrastructure<T>ausgeblendet wird.

Diese Methode wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Es wird im Allgemeinen nicht im Anwendungscode verwendet.

HasColumnName(PropertyBuilder, String)

Konfiguriert die Spalte, der die -Eigenschaft bei der Ausrichtung auf eine relationale Datenbank zugeordnet wird.

HasColumnOrder(PropertyBuilder, Nullable<Int32>)

Konfiguriert die Reihenfolge der Spalte, der die Eigenschaft zugeordnet ist.

HasColumnType(PropertyBuilder, String)

Konfiguriert den Datentyp der Spalte, der die -Eigenschaft bei der Ausrichtung auf eine relationale Datenbank zugeordnet wird. Dies sollte der vollständige Typname sein, einschließlich Genauigkeit, Skalierung, Länge usw.

HasComment(PropertyBuilder, String)

Konfiguriert einen Kommentar, der auf die Spalte angewendet werden soll

HasComputedColumnSql(PropertyBuilder)

Konfiguriert die -Eigenschaft so, dass sie einer berechneten Spalte zugeordnet wird, wenn eine relationale Datenbank als Ziel verwendet wird.

HasComputedColumnSql(PropertyBuilder, String)

Konfiguriert die -Eigenschaft so, dass sie einer berechneten Spalte zugeordnet wird, wenn eine relationale Datenbank als Ziel verwendet wird.

HasComputedColumnSql(PropertyBuilder, String, Nullable<Boolean>)

Konfiguriert die -Eigenschaft so, dass sie einer berechneten Spalte zugeordnet wird, wenn eine relationale Datenbank als Ziel verwendet wird.

HasDefaultValue(PropertyBuilder)

Konfiguriert den Standardwert für die Spalte, der die -Eigenschaft beim Ziel einer relationalen Datenbank zugeordnet wird.

HasDefaultValue(PropertyBuilder, Object)

Konfiguriert den Standardwert für die Spalte, der die -Eigenschaft beim Ziel einer relationalen Datenbank zugeordnet wird.

HasDefaultValueSql(PropertyBuilder)

Konfiguriert den Standardwertausdruck für die Spalte, der die -Eigenschaft beim Ziel einer relationalen Datenbank zugeordnet wird.

HasDefaultValueSql(PropertyBuilder, String)

Konfiguriert den Standardwertausdruck für die Spalte, der die -Eigenschaft beim Ziel einer relationalen Datenbank zugeordnet wird.

HasJsonPropertyName(PropertyBuilder, String)

Konfiguriert die Eigenschaft einer Entität, die einer JSON-Spalte zugeordnet ist, und weist die Entitätseigenschaft einer bestimmten JSON-Eigenschaft zu, anstatt den Namen der Entitätseigenschaft zu verwenden.

IsFixedLength(PropertyBuilder, Boolean)

Konfiguriert die -Eigenschaft so, dass nur Daten mit fester Länge gespeichert werden können, z. B. Zeichenfolgen.

UseCollation(PropertyBuilder, String)

Konfiguriert die -Eigenschaft so, dass die angegebene Sortierung verwendet wird. Die Datenbankspalte wird mit der angegebenen Sortierung erstellt und implizit in allen sortierungsabhängigen Vorgängen verwendet.

ForSqliteHasDimension(PropertyBuilder, Ordinates)

Konfiguriert die Dimension der Spalte, der die -Eigenschaft beim Ziel SQLite zugeordnet wird.

ForSqliteHasDimension(PropertyBuilder, Ordinates)
Veraltet..

Konfiguriert die Dimension der Spalte, der die -Eigenschaft beim Ziel SQLite zugeordnet wird.

HasGeometricDimension(PropertyBuilder, Ordinates)

Konfiguriert die Dimension der Spalte, der die -Eigenschaft beim Ziel SQLite zugeordnet wird.

ForSqliteHasColumnName(PropertyBuilder, String)

Konfiguriert die Spalte, der die -Eigenschaft bei der Ausrichtung auf SQLite zugeordnet wird.

ForSqliteHasColumnType(PropertyBuilder, String)

Konfiguriert den Datentyp der Spalte, der die Eigenschaft beim Ziel SQLite zugeordnet wird.

ForSqliteHasDefaultValue(PropertyBuilder, Object)

Konfiguriert den Standardwert für die Spalte, der die Eigenschaft beim Ziel SQLite zugeordnet wird.

ForSqliteHasDefaultValueSql(PropertyBuilder, String)

Konfiguriert den Standardwertausdruck für die Spalte, der die Eigenschaft beim Ziel SQLite zugeordnet ist.

ForSqliteHasSrid(PropertyBuilder, Int32)
Veraltet..

Konfiguriert die SRID der Spalte, der die Eigenschaft beim Ziel SQLite zugeordnet wird.

HasSrid(PropertyBuilder, Int32)

Konfiguriert die SRID der Spalte, der die Eigenschaft beim Ziel SQLite zugeordnet wird.

ForSqlServerHasColumnName(PropertyBuilder, String)

Konfiguriert die Spalte, der die -Eigenschaft beim Ziel SQL Server zugeordnet wird.

ForSqlServerHasColumnType(PropertyBuilder, String)

Konfiguriert den Datentyp der Spalte, der die -Eigenschaft beim Ziel SQL Server zugeordnet wird. Dies sollte der vollständige Typname sein, einschließlich Genauigkeit, Skalierung, Länge usw.

ForSqlServerHasComputedColumnSql(PropertyBuilder, String)

Konfiguriert die -Eigenschaft so, dass sie einer berechneten Spalte beim Ziel SQL Server zugeordnet wird.

ForSqlServerHasDefaultValue(PropertyBuilder, Object)

Konfiguriert den Standardwert für die Spalte, der die -Eigenschaft beim Ziel SQL Server zugeordnet wird.

ForSqlServerHasDefaultValueSql(PropertyBuilder, String)

Konfiguriert den Standardwertausdruck für die Spalte, der die -Eigenschaft beim Ziel SQL Server zugeordnet wird.

ForSqlServerUseSequenceHiLo(PropertyBuilder, String, String)
Veraltet..

Konfiguriert die key-Eigenschaft so, dass ein sequenzbasiertes Hi-Lo-Muster zum Generieren von Werten für neue Entitäten verwendet wird, wenn SQL Server. Diese Methode legt die -Eigenschaft auf OnAddfest.

IsSparse(PropertyBuilder, Boolean)

Konfiguriert, ob die Spalte der Eigenschaft als Sparse erstellt wird, wenn sie auf SQL Server ausgerichtet wird.

UseHiLo(PropertyBuilder, String, String)

Konfiguriert die key-Eigenschaft so, dass ein sequenzbasiertes Hi-Lo-Muster verwendet wird, um Werte für neue Entitäten zu generieren, wenn SQL Server. Diese Methode legt die -Eigenschaft auf fest OnAdd.

UseIdentityColumn(PropertyBuilder, Int32, Int32)

Konfiguriert die key-Eigenschaft für die Verwendung des SQL Server IDENTITY-Features zum Generieren von Werten für neue Entitäten, wenn SQL Server als Ziel verwendet wird. Diese Methode legt die -Eigenschaft auf fest OnAdd.

UseIdentityColumn(PropertyBuilder, Int64, Int32)

Konfiguriert die key-Eigenschaft für die Verwendung des SQL Server IDENTITY-Features zum Generieren von Werten für neue Entitäten, wenn SQL Server als Ziel verwendet wird. Diese Methode legt die -Eigenschaft auf fest OnAdd.

UseSequence(PropertyBuilder, String, String)

Konfiguriert die key-Eigenschaft so, dass ein sequenzbasiertes Schlüsselwertgenerierungsmuster verwendet wird, um Werte für neue Entitäten zu generieren, wenn SQL Server. Diese Methode legt die -Eigenschaft auf fest OnAdd.

UseSqlServerIdentityColumn(PropertyBuilder)

Konfiguriert die key-Eigenschaft für die Verwendung des SQL Server IDENTITY-Features zum Generieren von Werten für neue Entitäten, wenn SQL Server als Ziel verwendet wird. Diese Methode legt die -Eigenschaft auf fest OnAdd.

UseSqlServerIdentityColumn(PropertyBuilder, Int32, Int32)
Veraltet..

Konfiguriert die key-Eigenschaft für die Verwendung des SQL Server IDENTITY-Features zum Generieren von Werten für neue Entitäten, wenn SQL Server als Ziel verwendet wird. Diese Methode legt die -Eigenschaft auf fest OnAdd.

Gilt für: