2011-01-22 75 views
1

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

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

我通过对设计类的代码加强,当它到达一个呼叫这样

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

我没有在designer.cs改变了代码失败。我在这个主要墙上。 任何想法我可能做错了什么?

+0

请确保您已经整理了名称空间。在一个MVC项目中,你也有一个`System.Web.UI.Page`类,它可能与你的实体名称冲突。 – Yakimych 2011-01-22 13:31:26

回答

0

尝试将您的实体重命名为其他内容,例如EntityPage(例如)以查看是否已解决此问题。正如@Yakimych所述,这可能仅仅是名称空间冲突的一种情况

+0

我尝试将它们重命名,但没有运气。最初我试图在我的项目中为每个区域配备一个EDMX,但这似乎会导致问题。只要我将所有的数据调用都放到数据模型上,它就可以正常工作。我尝试将数据模型命名为空间,但这也不起作用。 – HapiDjus 2011-01-23 21:17:25