导致EDMX文件移动到新项目:System.Data.MetadataException:无法加载指定的元数据资源

时间:2010-12-25 19:49:30

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

我有一个ASP.NET MVC 2项目。 我在保存模型的类库项目上创建了edmx文件。

现在我已经创建了另一个名为shared的类库,并在那里移动了edmx文件。 解决了一些问题,一切都编译好了,但是在运行时找不到连接字符串资源。

我已将Web.Config的ConnectionString部分复制到主文件,旧类库app.config文件和新类库app.config文件。

仍然出现此错误:

  

System.Data.MetadataException:无法使用   加载指定的元数据   资源。

     

第75行:public myProjdb():   base(“name = myProjdb”,“MyProjdb”)

在MyProj.Designer.cs文件中。

任何想法如何解决这个问题?

是否有更好的方法来存储连接字符串数据?

1 个答案:

答案 0 :(得分:12)

如果使用包含程序集名称的连接字符串,则应该能够在其他项目中使用相同的模型。在web.config中的连接字符串中,尝试从

更改连接字符串中的*
metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=... 

这样的事情:

metadata=res://ClassLibrary1/Model1.csdl|res://ClassLibrary1/Model1.ssdl|res://ClassLibrary1/Model1.msl;provider=System.Data.SqlClient;provider connection string=...