Share via


CollectionOwnershipBuilder<TEntity,TDependentEntity>.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.CollectionOwnershipBuilder<TEntity,TDependentEntity> HasPrincipalKey (params string[] keyPropertyNames);
override this.HasPrincipalKey : string[] -> Microsoft.EntityFrameworkCore.Metadata.Builders.CollectionOwnershipBuilder<'Entity, 'DependentEntity (requires 'Entity : null and 'DependentEntity : null)>
Public Overridable Function HasPrincipalKey (ParamArray keyPropertyNames As String()) As CollectionOwnershipBuilder(Of TEntity, TDependentEntity)

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.

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.CollectionOwnershipBuilder<TEntity,TDependentEntity> HasPrincipalKey (System.Linq.Expressions.Expression<Func<TEntity,object>> keyExpression);
override this.HasPrincipalKey : System.Linq.Expressions.Expression<Func<'Entity, obj>> -> Microsoft.EntityFrameworkCore.Metadata.Builders.CollectionOwnershipBuilder<'Entity, 'DependentEntity (requires 'Entity : null and 'DependentEntity : null)>
Public Overridable Function HasPrincipalKey (keyExpression As Expression(Of Func(Of TEntity, Object))) As CollectionOwnershipBuilder(Of TEntity, TDependentEntity)

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<TDependentEntity,Object>>).

Returns

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

Applies to