Sdílet prostřednictvím


OwnershipBuilder<TEntity,TDependentEntity>.HasForeignKey Metoda

Definice

Přetížení

HasForeignKey(Expression<Func<TDependentEntity,Object>>)

Nakonfiguruje vlastnosti, které se použijí jako cizí klíč pro tento vztah.

HasForeignKey(String[])

Nakonfiguruje vlastnosti, které se použijí jako cizí klíč pro tento vztah.

HasForeignKey(Expression<Func<TDependentEntity,Object>>)

Nakonfiguruje vlastnosti, které se použijí jako cizí klíč pro tento vztah.

public virtual Microsoft.EntityFrameworkCore.Metadata.Builders.OwnershipBuilder<TEntity,TDependentEntity> HasForeignKey (System.Linq.Expressions.Expression<Func<TDependentEntity,object>> foreignKeyExpression);
public virtual Microsoft.EntityFrameworkCore.Metadata.Builders.OwnershipBuilder<TEntity,TDependentEntity> HasForeignKey (System.Linq.Expressions.Expression<Func<TDependentEntity,object?>> foreignKeyExpression);
override this.HasForeignKey : System.Linq.Expressions.Expression<Func<'DependentEntity, obj>> -> Microsoft.EntityFrameworkCore.Metadata.Builders.OwnershipBuilder<'Entity, 'DependentEntity (requires 'Entity : null and 'DependentEntity : null)>
Public Overridable Function HasForeignKey (foreignKeyExpression As Expression(Of Func(Of TDependentEntity, Object))) As OwnershipBuilder(Of TEntity, TDependentEntity)

Parametry

foreignKeyExpression
Expression<Func<TDependentEntity,Object>>

Výraz lambda představující vlastnosti cizího klíče (t => t.Id1).

Pokud se cizí klíč skládá z více vlastností, zadejte anonymní typ včetně vlastností (t => new { t.Id1, t.Id2 }). Zadané pořadí by mělo odpovídat pořadí odpovídajících vlastností v nástroji HasPrincipalKey(Expression<Func<TEntity,Object>>).

Návraty

Stejná instance tvůrce, aby bylo možné zřetězených více volání konfigurace.

Poznámky

Pokud zadané názvy vlastností u typu entity neexistují, přidají se nové vlastnosti stínového stavu, které budou sloužit jako cizí klíč. Vlastnost stínového stavu je vlastnost, která nemá odpovídající vlastnost ve třídě entity. Aktuální hodnota vlastnosti je uložena v objektu ChangeTracker , nikoli v instancích třídy entity.

Pokud HasPrincipalKey(Expression<Func<TEntity,Object>>) není zadaný, provede se pokus o porovnání datového typu a pořadí vlastností cizího klíče s primárním klíčem typu hlavní entity. Pokud se neshodují, nové vlastnosti stínového stavu, které tvoří jedinečný index, se přidají do typu hlavní entity, aby sloužily jako referenční klíč.

Platí pro

HasForeignKey(String[])

Nakonfiguruje vlastnosti, které se použijí jako cizí klíč pro tento vztah.

public virtual Microsoft.EntityFrameworkCore.Metadata.Builders.OwnershipBuilder<TEntity,TDependentEntity> HasForeignKey (params string[] foreignKeyPropertyNames);
override this.HasForeignKey : string[] -> Microsoft.EntityFrameworkCore.Metadata.Builders.OwnershipBuilder<'Entity, 'DependentEntity (requires 'Entity : null and 'DependentEntity : null)>
Public Overridable Function HasForeignKey (ParamArray foreignKeyPropertyNames As String()) As OwnershipBuilder(Of TEntity, TDependentEntity)

Parametry

foreignKeyPropertyNames
String[]

Názvy vlastností cizího klíče

Návraty

Stejná instance tvůrce, aby bylo možné zřetězených více volání konfigurace.

Poznámky

Pokud zadané názvy vlastností u typu entity neexistují, přidají se nové vlastnosti stínového stavu, které budou sloužit jako cizí klíč. Vlastnost stínového stavu je vlastnost, která nemá odpovídající vlastnost ve třídě entity. Aktuální hodnota vlastnosti je uložena v objektu ChangeTracker , nikoli v instancích třídy entity.

Pokud HasPrincipalKey(String[]) není zadaný, provede se pokus o porovnání datového typu a pořadí vlastností cizího klíče s primárním klíčem typu hlavní entity. Pokud se neshodují, nové vlastnosti stínového stavu, které tvoří jedinečný index, se přidají do typu hlavní entity, aby sloužily jako referenční klíč.

Platí pro