Share via


ReferenceOwnershipBuilder<TEntity,TRelatedEntity>.HasPrincipalKey Method

Definition

Overloads

HasPrincipalKey(String[])

Configures the unique property(s) that this relationship targets. Typically you would only call this method if you want to use a property(s) other than the primary key as the principal property(s). If the specified property(s) is not already a unique constraint (or the primary key) then a new unique constraint will be introduced.

HasPrincipalKey(Expression<Func<TEntity,Object>>)

Configures the unique property(s) that this relationship targets. Typically you would only call this method if you want to use a property(s) other than the primary key as the principal property(s). If the specified property(s) is not already a unique constraint (or the primary key) then a new unique constraint will be introduced.

HasPrincipalKey(String[])

Configures the unique property(s) that this relationship targets. Typically you would only call this method if you want to use a property(s) other than the primary key as the principal property(s). If the specified property(s) is not already a unique constraint (or the primary key) then a new unique constraint will be introduced.

public virtual Microsoft.EntityFrameworkCore.Metadata.Builders.ReferenceOwnershipBuilder<TEntity,TRelatedEntity> HasPrincipalKey (params string[] keyPropertyNames);
override this.HasPrincipalKey : string[] -> Microsoft.EntityFrameworkCore.Metadata.Builders.ReferenceOwnershipBuilder<'Entity, 'RelatedEntity (requires 'Entity : null and 'RelatedEntity : null)>
Public Overridable Function HasPrincipalKey (ParamArray keyPropertyNames As String()) As ReferenceOwnershipBuilder(Of TEntity, TRelatedEntity)

Parameters

keyPropertyNames
String[]

The name(s) of the reference key property(s).

Returns

The same builder instance so that multiple configuration calls can be chained.

Remarks

If multiple principal key properties are specified, the order of principal key properties should match the order that the primary key or unique constraint properties were configured on the principal entity type.

Applies to

HasPrincipalKey(Expression<Func<TEntity,Object>>)

Configures the unique property(s) that this relationship targets. Typically you would only call this method if you want to use a property(s) other than the primary key as the principal property(s). If the specified property(s) is not already a unique constraint (or the primary key) then a new unique constraint will be introduced.

public virtual Microsoft.EntityFrameworkCore.Metadata.Builders.ReferenceOwnershipBuilder<TEntity,TRelatedEntity> HasPrincipalKey (System.Linq.Expressions.Expression<Func<TEntity,object>> keyExpression);
override this.HasPrincipalKey : System.Linq.Expressions.Expression<Func<'Entity, obj>> -> Microsoft.EntityFrameworkCore.Metadata.Builders.ReferenceOwnershipBuilder<'Entity, 'RelatedEntity (requires 'Entity : null and 'RelatedEntity : null)>
Public Overridable Function HasPrincipalKey (keyExpression As Expression(Of Func(Of TEntity, Object))) As ReferenceOwnershipBuilder(Of TEntity, TRelatedEntity)

Parameters

keyExpression
Expression<Func<TEntity,Object>>

A lambda expression representing the reference key property(s) (t => t.Id).

If the principal key is made up of multiple properties then specify an anonymous type including the properties (t => new { t.Id1, t.Id2 }). The order specified should match the order of corresponding properties in HasForeignKey(Expression<Func<TRelatedEntity,Object>>).

Returns

The same builder instance so that multiple configuration calls can be chained.

Remarks

If multiple principal key properties are specified, the order of principal key properties should match the order that the primary key or unique constraint properties were configured on the principal entity type.

Applies to