可能重复:MetadataException:无法加载指定的元数据资源
我希望有人可以帮忙解决这个问题 . 我试过在这里关注其他帖子和其他几十个网站,但我可以让这个工作 .
实体框架全部工作,然后第二天才开始给我错误:无法加载指定的元数据资源 . 在实体类的构造函数上 .
我检查了连接字符串,删除并重新添加了所有内容,但我仍然无法使其工作 .
我的模型命名空间是WraithNath.co.uk.Models
元数据artificat嵌入在程序集中
我的连接字符串如下:
<add name="ConnectionString" connectionString="Data Source=.\SQL2008;AttachDbFilename=|DataDirectory|\WraithNath.co.uk.mdf;Integrated Security=True;" providerName="System.Data.SqlClient" />
<add name="Entities" connectionString="metadata=res://*/Models.WraithNath.co.uk.csdl|res://*/Models.WraithNath.co.uk.ssdl|res://*/Models.WraithNath.co.uk.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.\SQL2008;AttachDbFilename=|DataDirectory|\WraithNath.co.uk.mdf;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
在Reflector中查看时,我无法在程序集中找到我需要的3个文件 .
是否有分步指南来解决这个问题?我已经尝试了谷歌前3页的每个链接搜索结果'实体框架无法加载指定的元数据资源' .
1 回答
Craig Stuntz撰写了一篇广泛的(在我看来)博客文章,对这个确切的错误消息进行排查,我个人会从那里开始 .
以下
res:
(资源)引用需要指向您的模型 .确保每个文件在“* /”之后都具有.edmx文件的名称,并将“edmx”更改为该res的扩展名(.csdl,.ssdl或.msl) .
它也可能有助于指定程序集而不是使用“// * /” .
最糟糕的情况是,你可以通过使用来检查所有内容(有点慢但应该始终找到资源)