我们需要在Fluent Api中定义所有模型吗?

时间:2018-06-22 07:31:24

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

在.Net教程(在udemy和某些站点中)中,我看到他们声明了Fluent API,用于定义模型之间的关系。

我尝试创建模型,但未在Fluent API中定义关系,看来迁移工作正常,并且检查了Mysql外键是否也定义正确。

我只需要知道何时真正需要使用Fluent API(OnModelCreating)定义模型之间的关系

我的模特:

using System.Collections.Generic;

namespace CRSApp.API.Models
{
    public class UserGroup
    {
        public int Id { get; set; }
        public string GroupName { get; set; }

        ICollection<User> Users { get; set; }

        ICollection<UserGroupDetail> Details {get; set;}
    }
}


namespace CRSApp.API.Models
{
    public class UserGroupDetail
    {
        public int Id { get; set; }
        public int UserGroupId { get; set; }
        public int ModuleComponentId { get; set; }

        public UserGroup UserGroup { get; set; }
        public ModuleComponent ModuleComponent { get; set; }
    }
}

1 个答案:

答案 0 :(得分:1)

  

当我们真的需要使用Fluent API定义模型之间的关系时

当您不遵守约定时,或者您的预期用法超出了这些约定时。

Modelbuilder可以推断出许多常用的意图,但是例如,需要使用属性或流畅的配置来定义非可选的一对一关系。