代码优先实体框架关系始终为空

时间:2017-08-24 14:01:05

标签: .net entity-framework .net-core

我正在尝试使用.NET Core和Entity Framework建立一对多的关系,使用Code-first。

我有两个表:公司和用户,公司有很多用户。两个表都返回除关系对象之外的所有列中的数据。

对于任何请求,公司和用户ICollection对象始终为空。我尝试了流利的映射:

            modelBuilder.Entity<User>()
            .HasOne<Company>(s => s.Company)
            .WithMany(s => s.User)
            .HasForeignKey(s => s.CompanyId); 

以下是我的班级对象:

User

Company

这是我的数据库映射:

enter image description here

我已经通过内部联接验证了User.CompanyId = 1&amp;&amp; CompanyId = 1返回数据库中的结果,但用户上的Company对象仍为null。我尝试将CompanyId(FK)重命名为Company_CompanyId,使用实体框架属性的变体等进行操作无济于事。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

要在EF core中加载相关数据,您需要使用Include方法作为查询的一部分:

var user= context.Users.Include(u=>u.Company).FirstOrDefault(u.UserId==1);