Existe-t-il un moyen de définir des relations Entity Framework utilisant uniquement des clés étrangères (pas de propriétés virtuelles de type référence) avec FluentAPI (les modèles de données ne doivent pas être modifiés)?
CardDataModel
public class CardDataModel
{
public int CardId { get; set; }
}
CheckItemDataModel
public class CheckItemDataModel
{
public int CheckItemId { get; set; }
public int CardId { get; set; }
}
Oui, c'est possible dans EF Core. Cela ne figurait pas dans EF6 ou une version antérieure, mais maintenant, EF Core fournit des surcharges sans paramètre de HasMany
/ HasOne
qui permettent de configurer cette relation:
modelBuilder.Entity<CardDataModel>()
.HasMany<CheckItemDataModel>() // <-- note this
.WithOne()
.HasForeignKey(e => e.CardId);