Condividi tramite


EntityTypeBuilder<TEntity>.HasOne Metodo

Definizione

Overload

HasOne<TRelatedEntity>(String)

Configura una relazione in cui questo tipo di entità ha un riferimento che punta a una singola istanza dell'altro tipo nella relazione.

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

Configura una relazione in cui questo tipo di entità ha un riferimento che punta a una singola istanza dell'altro tipo nella relazione.

HasOne<TRelatedEntity>(String)

Configura una relazione in cui questo tipo di entità ha un riferimento che punta a una singola istanza dell'altro tipo nella relazione.

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)

Parametri di tipo

TRelatedEntity

Tipo di entità destinato a questa relazione.

Parametri

navigationName
String

Nome della proprietà di spostamento di riferimento in questo tipo di entità che rappresenta la relazione. Se non viene specificata alcuna proprietà, la relazione verrà configurata senza una proprietà di spostamento in questa fine.

Restituisce

Oggetto che può essere usato per configurare la relazione.

Commenti

Si noti che la chiamata a questo metodo senza parametri configura in modo esplicito questo lato della relazione per non usare alcuna proprietà di navigazione, anche se tale proprietà esiste nel tipo di entità. Se la proprietà di spostamento deve essere usata, deve essere specificata.

Dopo aver chiamato questo metodo, è necessario concatenare una chiamata a WithMany(String) o WithOne(String) per configurare completamente la relazione. La chiamata a questo metodo senza la chiamata concatenata non produrrà una relazione valida.

Si applica a

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

Configura una relazione in cui questo tipo di entità ha un riferimento che punta a una singola istanza dell'altro tipo nella relazione.

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)

Parametri di tipo

TRelatedEntity

Tipo di entità destinato a questa relazione.

Parametri

navigationExpression
Expression<Func<TEntity,TRelatedEntity>>

Espressione lambda che rappresenta la proprietà di spostamento di riferimento in questo tipo di entità che rappresenta la relazione (post => post.Blog). Se non viene specificata alcuna proprietà, la relazione verrà configurata senza una proprietà di spostamento in questa fine.

Restituisce

Oggetto che può essere usato per configurare la relazione.

Commenti

Si noti che la chiamata a questo metodo senza parametri configura in modo esplicito questo lato della relazione per non usare alcuna proprietà di navigazione, anche se tale proprietà esiste nel tipo di entità. Se la proprietà di spostamento deve essere usata, deve essere specificata.

Dopo aver chiamato questo metodo, è necessario concatenare una chiamata a WithMany(Expression<Func<TRelatedEntity,IEnumerable<TEntity>>>) o WithOne(Expression<Func<TRelatedEntity,TEntity>>) per configurare completamente la relazione. La chiamata a questo metodo senza la chiamata concatenata non produrrà una relazione valida.

Si applica a