【问题标题】:EDMX Entities not populating dataEDMX 实体不填充数据
【发布时间】:2015-07-09 16:42:43
【问题描述】:

我正在开发一个使用实体框架的项目。

我遇到了一个很奇怪的问题。
我通过 EDMX 获取 User 表信息,该信息与 Contacts 表有关系(通过 UserID 列)。

现在,User 集合已检索到 ContactID,它还应该检索所有 UsersContact 信息,而 Contact 实体已为某些 Users 填充,而对于另一些则填充NULL。但是,如果我检查 ContactID 中的值,它是可用的,但对于某些用户,Contact 实体是 NULL。我从来没有遇到过这样的问题。任何建议都将受到高度赞赏......

【问题讨论】:

  • 我猜你有延迟加载..请发布你尝试加载用户的代码。

标签: entity-framework entity-framework-6 asp.net-web-api2 poco edmx


【解决方案1】:

首先,确保正确设置了键和关联。 如果您怀疑是这种情况,请仔细阅读this 文章。


然后选择以下选项之一:

在您的查询中包含引用:

var query = context.Contacts
              .Include(c => c.User)
              .SingleOrDefault(c => c.UserID == userID);

启用延迟加载
另一种选择是在上下文的构造函数中显式启用延迟加载(或通过覆盖OnModelCreating):

public MyContext()
{
    Configuration.LazyLoadingEnabled = true;
}

【讨论】:

  • 因此,如果它不起作用,您将不得不向我们展示您的代码。请分享您的 ContactUser 实体、您的上下文和您的查询。
猜你喜欢
  • 1970-01-01
  • 2020-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-03
相关资源
最近更新 更多