zoukankan      html  css  js  c++  java
  • Entity Framework 无法加载指定的元数据资源。

    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三个文件的路径,本文能够写出来,全是因自身的基础知识不好,希望大家也多多补充基础知识。

  • 相关阅读:
    C# 运用StreamReader类和StreamWriter类实现文件的读写操作
    C# 理解FileInfo类的Open()方法
    C# 运用FileInfo类创建、删除文件
    C# 创建子目录
    C# 目录下的文件操作
    C# 运用DirectoryInfo类和FileInfo类
    C# 文件操作概述
    LINUX介绍
    linux iso 下载地址
    ADO.NET梳理
  • 原文地址:https://www.cnblogs.com/ChineseMoonGod/p/5333003.html
Copyright © 2011-2022 走看看