EntityTypeBuilder<TEntity>.HasOne Метод

Определение

Перегрузки

HasOne<TRelatedEntity>(String)

Настраивает связь, в которой этот тип сущности имеет ссылку, указывающую на один экземпляр другого типа в связи.

HasOne<TRelatedEntity>(Expression<Func<TEntity,TRelatedEntity>>)

Настраивает связь, в которой этот тип сущности имеет ссылку, указывающую на один экземпляр другого типа в связи.

HasOne<TRelatedEntity>(String)

Настраивает связь, в которой этот тип сущности имеет ссылку, указывающую на один экземпляр другого типа в связи.

public virtual Microsoft.EntityFrameworkCore.Metadata.Builders.ReferenceNavigationBuilder<TEntity,TRelatedEntity> HasOne<TRelatedEntity> (string navigationName) where TRelatedEntity : class;
public virtual Microsoft.EntityFrameworkCore.Metadata.Builders.ReferenceNavigationBuilder<TEntity,TRelatedEntity> HasOne<TRelatedEntity> (string? navigationName) where TRelatedEntity : class;
override this.HasOne : string -> Microsoft.EntityFrameworkCore.Metadata.Builders.ReferenceNavigationBuilder<'Entity, 'RelatedEntity (requires 'Entity : null and 'RelatedEntity : null)> (requires 'RelatedEntity : null)
Public Overridable Function HasOne(Of TRelatedEntity As Class) (navigationName As String) As ReferenceNavigationBuilder(Of TEntity, TRelatedEntity)

Параметры типа

TRelatedEntity

Тип сущности, на который нацелена эта связь.

Параметры

navigationName
String

Имя эталонного свойства навигации для этого типа сущности, представляющего связь. Если свойство не указано, связь будет настроена без свойства навигации на этом конце.

Возвращаемое значение

Объект , который можно использовать для настройки связи.

Комментарии

Обратите внимание, что вызов этого метода без параметров явно настроит эту сторону связи на использование свойства навигации, даже если такое свойство существует в типе сущности. Если требуется использовать свойство навигации, его необходимо указать.

После вызова этого метода необходимо связать вызов или WithMany(String)WithOne(String) , чтобы полностью настроить связь. Вызов только этого метода без вызова цепочки не приведет к получению допустимой связи.

Применяется к

HasOne<TRelatedEntity>(Expression<Func<TEntity,TRelatedEntity>>)

Настраивает связь, в которой этот тип сущности имеет ссылку, указывающую на один экземпляр другого типа в связи.

public virtual Microsoft.EntityFrameworkCore.Metadata.Builders.ReferenceNavigationBuilder<TEntity,TRelatedEntity> HasOne<TRelatedEntity> (System.Linq.Expressions.Expression<Func<TEntity,TRelatedEntity>> navigationExpression = default) where TRelatedEntity : class;
public virtual Microsoft.EntityFrameworkCore.Metadata.Builders.ReferenceNavigationBuilder<TEntity,TRelatedEntity> HasOne<TRelatedEntity> (System.Linq.Expressions.Expression<Func<TEntity,TRelatedEntity?>>? navigationExpression = default) where TRelatedEntity : class;
override this.HasOne : System.Linq.Expressions.Expression<Func<'Entity, 'RelatedEntity>> -> Microsoft.EntityFrameworkCore.Metadata.Builders.ReferenceNavigationBuilder<'Entity, 'RelatedEntity (requires 'Entity : null and 'RelatedEntity : null)> (requires 'RelatedEntity : null)
Public Overridable Function HasOne(Of TRelatedEntity As Class) (Optional navigationExpression As Expression(Of Func(Of TEntity, TRelatedEntity)) = Nothing) As ReferenceNavigationBuilder(Of TEntity, TRelatedEntity)

Параметры типа

TRelatedEntity

Тип сущности, на который нацелена эта связь.

Параметры

navigationExpression
Expression<Func<TEntity,TRelatedEntity>>

Лямбда-выражение, представляющее свойство навигации по ссылке для этого типа сущности, представляющее связь (post => post.Blog). Если свойство не указано, связь будет настроена без свойства навигации на этом конце.

Возвращаемое значение

Объект , который можно использовать для настройки связи.

Комментарии

Обратите внимание, что вызов этого метода без параметров явно настроит эту сторону связи на использование свойства навигации, даже если такое свойство существует в типе сущности. Если требуется использовать свойство навигации, его необходимо указать.

После вызова этого метода необходимо связать вызов или WithMany(Expression<Func<TRelatedEntity,IEnumerable<TEntity>>>)WithOne(Expression<Func<TRelatedEntity,TEntity>>) , чтобы полностью настроить связь. Вызов только этого метода без вызова цепочки не приведет к получению допустимой связи.

Применяется к