仅通过 FluentAPI 使用外键定义 Entity Framework 关系
Define Entity Framework relationships using foreign keys only by FluentAPI
是否可以通过 FluentAPI(不应更改数据模型)仅使用外键(无引用类型的虚拟属性)来定义 Entity Framework 关系?
CardDataModel
public class CardDataModel
{
public int CardId { get; set; }
}
CheckItemDataModel
public class CheckItemDataModel
{
public int CheckItemId { get; set; }
public int CardId { get; set; }
}
你可以做到这一点。
public class Card
{
public int Id { get; set; }
}
public class CheckItem
{
public int Id { get; set; }
public int CardId { get; set; }
public virtual Card Card { get; set; }
}
是的,在 EF Core 中是可能的。它不在 EF6 及以下版本中,但现在 EF Core 提供 HasMany
/ HasOne
的无参数重载,允许配置这样的关系:
modelBuilder.Entity<CardDataModel>()
.HasMany<CheckItemDataModel>() // <-- note this
.WithOne()
.HasForeignKey(e => e.CardId);
是否可以通过 FluentAPI(不应更改数据模型)仅使用外键(无引用类型的虚拟属性)来定义 Entity Framework 关系?
CardDataModel
public class CardDataModel
{
public int CardId { get; set; }
}
CheckItemDataModel
public class CheckItemDataModel
{
public int CheckItemId { get; set; }
public int CardId { get; set; }
}
你可以做到这一点。
public class Card
{
public int Id { get; set; }
}
public class CheckItem
{
public int Id { get; set; }
public int CardId { get; set; }
public virtual Card Card { get; set; }
}
是的,在 EF Core 中是可能的。它不在 EF6 及以下版本中,但现在 EF Core 提供 HasMany
/ HasOne
的无参数重载,允许配置这样的关系:
modelBuilder.Entity<CardDataModel>()
.HasMany<CheckItemDataModel>() // <-- note this
.WithOne()
.HasForeignKey(e => e.CardId);