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

时间:2017-09-01 11:24:42

标签: c# .net entity-framework entity-framework-core ef-fluent-api

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

CardDataModel

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

}

CheckItemDataModel

public class CheckItemDataModel
{
    public int CheckItemId { get; set; }
    public int CardId { get; set; }
}

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:-2)

你可以这样做。

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; }
}