在edmgen工具生成的实体框架类之后达到错误

时间:2010-05-20 09:10:59

标签: c# entity-framework entity-framework-4 edmgen

首先我读了这篇question,但这些知识无助于解决我的问题。

最初我用Visual Studio创建了edmx文件。生成的文件名称为:

  • uqsModel.Designer.cs
  • uqsModel.edmx

此文件位于App_Code文件夹中。

我的网络应用正常工作。 在Web Config中自动生成连接字符串。

<add name="uqsEntities" connectionString="metadata=res://*/App_Code.uqsModel.csdl|res://*/App_Code.uqsModel.ssdl|res://*/App_Code.uqsModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=aemloviji\sqlexpress;Initial Catalog=uqs;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" /></connectionStrings>

然后我必须通过仪器 edmgen工具(完整生成模式)生成类。 生成名称为

的新文件
  • uqsModel.cs
  • uqsModel.csdl
  • uqsModel.msl
  • uqsModel.ssdl
  • uqsViews.cs

它将新的类别保存到edmx文件所在的文件夹中,并删除现有的edmx文件。当页面重定向到任何网页服务器端代码失败时。 问题:无法加载指定的元数据资源

请一些想法。

1 个答案:

答案 0 :(得分:1)

问题似乎与您以.csdl,.ssdl和.msl文件的形式生成元数据,并且您的连接字符串指向应嵌入到项目dll的资源(其中可能在您的网站上不可用)。
解决方案是更正元数据的路径,如下所示:

metadata=~\App_Code\uqsModel.csdl|~\App_Code\uqsModel.ssdl|~\App_Code\uqsModel.msl

有更多信息here