首页 文章

使用EF上传到azure后出现问题无法加载指定的元数据资源错误

提问于
浏览
4

我正在使用ASP.net MVC5应用程序并使用EF 5 Model第一种方法 . 但也使用了poco类,这是另一个名为“Entity”的C#项目 .

我有多层架构,其中Edmx文件在DAL层,BAL有它的参考,BAL和Entity Project在主Web项目中被引用 .

一切正常,但在 Azure 上设置数据库和项目后,当我的网站尝试连接数据库时,它会抛出以下错误"MetadataException: Unable to load the specified metadata resource"

我在一个问题上遇到了两天,并尝试使用stackoverflow或任何其他博客中给出的每个可能的解决方案 . 但是请相信我们没有什么可以让我工作,就像提供完整的装配路径,dll in meta deta . 使用“metadata = res:// * /;对我来说也没用 . 我在这里压力很大 .

请帮我 . 附加了web.config中的屏幕截图和连接字符串 .

<add name="questmysqlEntities" connectionString="metadata=res://QuestCloud/QuestCloudDAL/QuestCloud.csdl|res://QuestCloud/QuestCloudDAL/QuestCloud.ssdl|res://QuestCloud/QuestCloudDAL/QuestCloud.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source******servername****;Initial Catalog=questdb;Persist Security Info=True;user id=****username****;password=****password****;MultipleActiveResultSets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" />

我的Edmx文件驻留在DAL(数据库层)项目中,POCO模板驻留在Entity项目中,

enter image description here

BAL(业务层)参考了两个项目

enter image description here

我的Web项目参考了BAL(业务层)和实体项目

enter image description here

1 回答

  • 0

    我得到了上述问题的解决方案 . 我刚刚将“ QuestCloudDAL.dll ”的引用添加到我的主项目 QuestCloud 中 . 并将此程序集的引用放在我的主web.config中,

    <add name="questmysqlEntities" connectionString="metadata=res://QuestCloudDAL/QuestCloud.csdl|res://QuestCloudDAL/QuestCloud.ssdl|res://QuestCloudDAL/QuestCloud.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source******servername****;Initial Catalog=questdb;Persist Security Info=True;user id=****username****;password=****password****;MultipleActiveResultSets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" />
    

    而不是"*",我在we.config连接字符串中为元数据资源添加了“ QuestCloudDAL ”命名空间 . 它按预期工作 .

相关问题