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

发布于 2024-10-09 15:04:52 字数 485 浏览 1 评论 0原文

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

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

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

仍然出现此错误:

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

第 75 行:public myProjdb() : 基(“名称= myProjdb”,“MyProjdb”)

MyProj.Designer.cs 文件中的

。知道如何解决这个问题吗?

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

I have a ASP.NET MVC 2 project.
I've created edmx file on the class library project that holds the model.

now I've created another class library called it shared and moved the edmx file over there.
resolved some issues, everything compiles, but it can't find the connection string resource at runtime.

I've copied the ConnectionString part of the Web.Config to the main file, the old class library app.config file and the new class library app.config file.

Still get this error:

System.Data.MetadataException: Unable
to load the specified metadata
resource.

Line 75: public myProjdb() :
base("name=myProjdb", "MyProjdb")

in the MyProj.Designer.cs file.

Any Idea how to resolve this issue ?

Is there a better way to store connection string data ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦毁影碎の 2024-10-16 15:04:52

如果您使用包含程序集名称的连接字符串,您应该能够在其他项目中使用相同的模型。在 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=...

You should be able to use the same model in other projects if you use a connection string that includes the assembly name. In the connection string you have in web.config, try changing the * in the connection string, from

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

to something like this:

metadata=res://ClassLibrary1/Model1.csdl|res://ClassLibrary1/Model1.ssdl|res://ClassLibrary1/Model1.msl;provider=System.Data.SqlClient;provider connection string=...
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文