OwnershipBuilder<TEntity,TDependentEntity>.HasForeignKey Metoda

Definicja

Przeciążenia

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

Konfiguruje właściwości do użycia jako klucz obcy dla tej relacji.

HasForeignKey(String[])

Konfiguruje właściwości do użycia jako klucz obcy dla tej relacji.

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

Konfiguruje właściwości do użycia jako klucz obcy dla tej relacji.

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

Wyrażenie lambda reprezentujące właściwości klucza obcego (t => t.Id1).

Jeśli klucz obcy składa się z wielu właściwości, określ typ anonimowy, w tym właściwości (t => new { t.Id1, t.Id2 }). Określona kolejność powinna być zgodna z kolejnością odpowiednich właściwości w pliku HasPrincipalKey(Expression<Func<TEntity,Object>>).

Zwraca

To samo wystąpienie konstruktora, aby można było połączyć wiele wywołań konfiguracji.

Uwagi

Jeśli określone nazwy właściwości nie istnieją w typie jednostki, zostaną dodane nowe właściwości stanu w tle, które będą pełnić rolę klucza obcego. Właściwość stanu w tle jest taka, która nie ma odpowiedniej właściwości w klasie jednostki. Bieżąca wartość właściwości jest przechowywana w ChangeTracker obiekcie , a nie jest przechowywana w wystąpieniach klasy jednostki.

Jeśli HasPrincipalKey(Expression<Func<TEntity,Object>>) nie zostanie określony, zostanie podjęta próba dopasowania typu danych i kolejności właściwości klucza obcego do klucza podstawowego typu jednostki głównej. Jeśli nie są one zgodne, nowe właściwości stanu w tle, które tworzą unikatowy indeks, zostaną dodane do typu jednostki głównej, aby służyć jako klucz odwołania.

Dotyczy

HasForeignKey(String[])

Konfiguruje właściwości do użycia jako klucz obcy dla tej relacji.

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[]

Nazwy właściwości klucza obcego.

Zwraca

To samo wystąpienie konstruktora, aby można było połączyć wiele wywołań konfiguracji.

Uwagi

Jeśli określone nazwy właściwości nie istnieją w typie jednostki, zostaną dodane nowe właściwości stanu w tle, które będą pełnić rolę klucza obcego. Właściwość stanu w tle jest taka, która nie ma odpowiedniej właściwości w klasie jednostki. Bieżąca wartość właściwości jest przechowywana w ChangeTracker obiekcie , a nie jest przechowywana w wystąpieniach klasy jednostki.

Jeśli HasPrincipalKey(String[]) nie zostanie określony, zostanie podjęta próba dopasowania typu danych i kolejności właściwości klucza obcego do klucza podstawowego typu jednostki głównej. Jeśli nie są one zgodne, nowe właściwości stanu w tle, które tworzą unikatowy indeks, zostaną dodane do typu jednostki głównej, aby służyć jako klucz odwołania.

Dotyczy