仅使用FluentAPI使用外键定义实体框架关系

Ale*_*sev 2 .net c# entity-framework entity-framework-core ef-fluent-api

是否有任何方法使用FluentAPI(不应更改数据模型)仅使用外键(没有引用类型的虚拟属性)定义实体框架关系?

CardDataModel

public class CardDataModel
{
    public int CardId { get; set; }

}
Run Code Online (Sandbox Code Playgroud)

CheckItemDataModel

public class CheckItemDataModel
{
    public int CheckItemId { get; set; }
    public int CardId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

Iva*_*oev 5

是的,它可以在EF Core中使用.它不在EF6及更低版本中,但现在EF Core提供HasMany/的无参数重载HasOne,允许配置这种关系:

modelBuilder.Entity<CardDataModel>()
    .HasMany<CheckItemDataModel>() // <-- note this
    .WithOne()
    .HasForeignKey(e => e.CardId);
Run Code Online (Sandbox Code Playgroud)