OwnershipBuilder<TEntity,TDependentEntity>.HasForeignKey Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
Entity Framework