我正在尝试使用.NET Core和Entity Framework建立一对多的关系,使用Code-first。
我有两个表:公司和用户,公司有很多用户。两个表都返回除关系对象之外的所有列中的数据。
对于任何请求,公司和用户ICollection对象始终为空。我尝试了流利的映射:
modelBuilder.Entity<User>()
.HasOne<Company>(s => s.Company)
.WithMany(s => s.User)
.HasForeignKey(s => s.CompanyId);
以下是我的班级对象:
这是我的数据库映射:
我已经通过内部联接验证了User.CompanyId = 1&amp;&amp; CompanyId = 1返回数据库中的结果,但用户上的Company对象仍为null。我尝试将CompanyId(FK)重命名为Company_CompanyId,使用实体框架属性的变体等进行操作无济于事。
有什么建议吗?
答案 0 :(得分:2)
要在EF core中加载相关数据,您需要使用Include
方法作为查询的一部分:
var user= context.Users.Include(u=>u.Company).FirstOrDefault(u.UserId==1);