如果我从数据库中删除外键约束,那么实体框架的导航属性会起作用吗?

时间:2019-01-15 07:57:27

标签: c# sql entity-framework entity-framework-6

您知道开发人员大多是在嘲笑表之间的关系,而不是使用表之间的物理关系(是的,如果在列上放置外键约束,则从一个表绘制到另一条表的线)。

但是我相信,如果导航属性没有物理关系,则Entity Framework将无法正常工作。

那么,有什么办法吗?

我的课程:

public class Phones
{
        public int ID { get; set; }
        public string Model { get; set; }
        public string Manufacturer { get; set; }
        public List<Users> Users { get; set; }
}

public class Sims
{
        public int ID { get; set; }
        public string Code { get; set; }
}

这将从用户->模拟市民创建1-M关系。

但是如果我放弃外键约束并保持原样,导航属性将如何工作呢?

1 个答案:

答案 0 :(得分:1)

在这种情况下,最好从两个类中删除引用并在这些类之外手动处理关系:

public class Sims
{
    public int ID { get; set; }
    public string Code { get; set; }

    //public User User { get; set; }
    public int UserID { get; set; }
}