次の方法で共有


EntityTypeBuilder<TEntity>.HasOne メソッド

定義

オーバーロード

HasOne<TRelatedEntity>(String)

このエンティティ型が、リレーションシップ内の他の型の 1 つのインスタンスを指す参照を持つリレーションシップを構成します。

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

このエンティティ型が、リレーションシップ内の他の型の 1 つのインスタンスを指す参照を持つリレーションシップを構成します。

HasOne<TRelatedEntity>(String)

このエンティティ型が、リレーションシップ内の他の型の 1 つのインスタンスを指す参照を持つリレーションシップを構成します。

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

リレーションシップを表すこのエンティティ型の参照ナビゲーション プロパティの名前。 プロパティが指定されていない場合、リレーションシップは、この最後にナビゲーション プロパティなしで構成されます。

戻り値

リレーションシップの構成に使用できるオブジェクト。

注釈

パラメーターなしでこのメソッドを呼び出すと、エンティティ型にこのようなプロパティが存在する場合でも、ナビゲーション プロパティを使用するようにリレーションシップのこの側が明示的に構成されることに注意してください。 ナビゲーション プロパティを使用する場合は、ナビゲーション プロパティを指定する必要があります。

このメソッドを呼び出した後、リレーションシップを完全に構成するには、 または WithOne(String) へのWithMany(String)呼び出しをチェーンする必要があります。 チェーン呼び出しなしでこのメソッドだけを呼び出しても、有効なリレーションシップは生成されません。

適用対象

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

このエンティティ型が、リレーションシップ内の他の型の 1 つのインスタンスを指す参照を持つリレーションシップを構成します。

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) を表すこのエンティティ型の参照ナビゲーション プロパティを表すラムダ式。 プロパティが指定されていない場合、リレーションシップは、この最後にナビゲーション プロパティなしで構成されます。

戻り値

リレーションシップの構成に使用できるオブジェクト。

注釈

パラメーターなしでこのメソッドを呼び出すと、エンティティ型にこのようなプロパティが存在する場合でも、ナビゲーション プロパティを使用するようにリレーションシップのこの側が明示的に構成されることに注意してください。 ナビゲーション プロパティを使用する場合は、ナビゲーション プロパティを指定する必要があります。

このメソッドを呼び出した後、リレーションシップを完全に構成するには、 または WithOne(Expression<Func<TRelatedEntity,TEntity>>) へのWithMany(Expression<Func<TRelatedEntity,IEnumerable<TEntity>>>)呼び出しをチェーンする必要があります。 チェーン呼び出しなしでこのメソッドだけを呼び出しても、有効なリレーションシップは生成されません。

適用対象