在引用项目中包含实体数据模型时出错

时间:2013-05-21 15:50:19

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

决定重新创建一个网站,以便它是一个ASP.NET MVC Web应用程序。我们最初使用实体框架,因为它工作得很好,所以仍然使用它。在做一些阅读时,注意到没有用于MVC应用程序的App_Code /文件夹,并且大多数人都在为他们的需求创建类库。所以我最终做的是在同一个解决方案中创建我的MVC应用程序和类库,MVC应用程序引用了类库。类库中有我的EDMX实体数据模型文件,因为我的一些类引用它,我认为将它放在库中引用是最容易的。所以我的解决方案布局是here is a picture。但是当我构建并运行网站时,我在一个引用实体数据模型的页面上出现错误。 Here is a picture错误是什么。

所以我想,如果我把EDMX放到我的模型文件夹中会怎么样,因为错误看起来像是在抱怨找不到实体。我的解决方案Here's a picture现在已经采取行动了。但是现在,我得到了一个不同的错误(picture)。我有点不知道从哪里开始。我是否已经将所有内容布置出来并设计出适当且最有效的方式来实现它?如果不是,有人可以给我一些建议吗?

谢谢,非常感谢!

1 个答案:

答案 0 :(得分:2)

是的,您应该能够将edmx放在类库中,并从主项目中引用。第一个错误可能是由于连接字符串不正确(请检查此blog post),但您也可能以某种方式更改了edmx文件的构建操作,请确保它是“Entity Deploy”。

第二个错误可能是因为您将edmx从类库复制到Models文件夹中,它仍然引用旧的命名空间。要解决此问题,请在设计器视图中打开edmx,然后单击背景。属性窗口中的一个属性是命名空间,请确保将其设置为要保留它的新位置。

修改 有些事要尝试:

  • 清理并重建项目
  • 删除错误消息
  • 中引用的Temporary ASP.NET Files文件夹
  • 仔细检查您的cshtml文件,查找对URG_MVC.Models命名空间的旧引用。例如,错误中的行应为IEnumerable<URGLibrary.Proposal>
  • 右键单击edmx文件,然后选择“运行自定义工具”以重新生成模型文件