我正在尝试使用 .NET Core 和使用代码优先的 Entity Framework 建立一对多关系。
我有两个表:公司和用户,公司有很多用户。两个表都返回除关系对象之外的所有列中的数据。
对于任何请求,公司和用户 ICollection 对象始终为空。我尝试了流畅的映射:
modelBuilder.Entity<User>()
.HasOne<Company>(s => s.Company)
.WithMany(s => s.User)
.HasForeignKey(s => s.CompanyId);
这是我的类对象:
这是我的数据库映射:
我已经通过内部连接验证 User.CompanyId=1 && CompanyId=1 在数据库中返回结果,但用户上的 Company 对象仍然为空。我尝试将 CompanyId (FK) 重命名为 Company_CompanyId,尝试使用 Entity Framework 属性的变体等,但均无济于事。
有什么建议吗?
最佳答案
在 EF core 中加载相关数据您需要使用 Include
方法作为查询的一部分:
var user= context.Users.Include(u=>u.Company).FirstOrDefault(u.UserId==1);
关于.net - 代码优先 Entity Framework 关系始终为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45863659/