程晓晖

博客园 首页 新随笔 联系 订阅 管理
  0 随笔 :: 185 文章 :: 65 评论 :: 76万 阅读

从ADO.NET Entity Framework发布以来,本人也一直在用,深感好用,忍不住地要感谢微软啊!由于项目结构创建完成后,没怎么改动过,所以一直没出题过问题,可最近由于改动了下命名空间,问题来了,正是标题中的“无法加载指定的元数据资源”。经过百般调试终于解决了,写下做为记录。

  • 开发工具:VS 2010 CN
  • 开发语言:Visual C#
  • ADO.NET Entity Framework
  • 模型名称:Authorize.edmx
  • 实体容器:AuthorizeContainer

先详细说下问题出现的原因:

自从项目创建以来 Authorize.edmx 模型文件一直放在 Model文件夹下

项目一直调试运行,没有出现过错误,最近因项目需要将Model 更名为Models问题随之而来,在调用实体容器构造函数时便出现以下错误:

放放风

“无法加载指定的元数据资源”,在这里声明更改命名空间后项目重新生成成功。却突然弹出这么一个错误,刚开始真是一头雾水,没办法,只能解决,重新生成元数据后,很失望没有解决。。。。。

直接说结果吧,在打开App.Config的时候找到了原因,就在这里:

 这个是更改之前的:

代码
<add name="AuthorizeContainer" connectionString="metadata=res://*/Model.Authorize.csdl|res://*/Model.Authorize.ssdl|res://*/Model.Authorize.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=Server;Initial Catalog=EIPS;Persist Security Info=True;User ID=sa;Password=123;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

这个是更改之后的:

代码
<add name="AuthorizeContainer" connectionString="metadata=res://*/Models.Authorize.csdl|res://*/Models.Authorize.ssdl|res://*/Models.Authorize.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=Server;Initial Catalog=EIPS;Persist Security Info=True;User ID=sa;Password=123;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

就是“metadata=res://*/Models.Authorize.csdl|res://*/Models.Authorize.ssdl|res://*/Models.Authorize.msl;”

metadata:指明.csdl/.ssdl/.msl三个文件的路径

小记:更改模型命名空间一定不要忘了在App.Config中更改.csdl/.ssdl/.msl三个文件的路径,本文能够写出来,全是因自身的基础知识不好,希望大家也多多补充基础知识。

转自:http://archive.cnblogs.com/a/1877519/

posted on   fumen  阅读(18246)  评论(3编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示