【问题标题】:EntitySet could not be found找不到实体集
【发布时间】:2011-01-23 08:54:35
【问题描述】:

我正在使用 EF4 作为我的数据源的 MVC 站点。直到今天,我在使用 EF4 的其他项目上都没有遇到任何问题。我收到一条错误消息,指出找不到 EntitySet 名称 Entities.Sites。我有另一个数据集的另一个 EDMX 文件,它的设置几乎相同(具有不同的实体名称),当我尝试对其运行 LINQ 查询时它工作正常。

我的 EDMX 有 2 个表(站点和页面),从站点到页表具有一对多的关联。一切都编译得很好,但在运行时,几乎就像数据模型在每个属性列表填充上都失败了。我确实启用了延迟加载(这是一个 .NET 4 项目)。

我单步调试了设计器类上的代码,但当它遇到这样的调用时它失败了

if((_Pages == null))
{
     _Pages = base.CreateObjectSet<Page>("Pages");
}

我没有更改designer.cs 中的代码。我在这方面的主要墙壁。 有什么想法我可能做错了吗?

【问题讨论】:

  • 确保您已整理好命名空间。在 MVC 项目中,您还有一个 System.Web.UI.Page 类,它可能与您的实体名称冲突。

标签: asp.net-mvc-2 entity-framework-4


【解决方案1】:

尝试将您的实体 Page 重命名为其他名称,例如 EntityPage(例如),看看这是否解决了问题。正如@Yakimych 所说,这可能只是命名空间冲突的情况

【讨论】:

  • 我尝试重命名它们,但没有成功。最初我试图在我的项目中为每个区域设置一个 EDMX,但这似乎导致了问题。一旦我在数据模型上运行所有数据调用,它就可以正常工作。我尝试为我的数据模型命名空间,但这也不起作用。
猜你喜欢
  • 2016-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-10
  • 2011-08-27
  • 2015-01-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多