【问题标题】:Entity Framwork Unable to Load the specified metadata resource实体框架无法加载指定的元数据资源
【发布时间】:2018-03-12 20:43:28
【问题描述】:

所以我在我的项目中设置了 SQL Server 和 EF。

MPSDBEntities mpsEntities = new MPSDBEntities();

当我进行保存更改时它工作正常。例如

mpsEntities.SaveChanges();

它更新了数据库(这是否意味着我的连接字符串是正确的?)

但是,每当我尝试从 EF 执行任何类型的加载数据/SQL 时,例如

var temp = mpsEntities.CARD_BY_CHECKTYPE.Where(x => (x.CHECK_TYPE == "AA2")).ToList();

它会抛出异常

无法加载指定的元数据资源。

这是我的连接字符串,我怀疑问题出在哪里:

<add name="MPSDBEntities" 
     connectionString="metadata=res://*/MPSDBModel.csdl|res://*/MPSDBModel.ssdl|res://*/MPSDBModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=PAE0DT-DDWB282\MPS2;initial catalog=MPS;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework&quot;" 
     providerName="System.Data.EntityClient" />

我浏览了以下帖子。他们没有解决我的问题。

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

MetadataException: Unable to load the specified metadata resource

Entity Framework: Unable to load the specified metadata resource

Unable to load the specified metadata resource

有人知道问题出在哪里吗? 谢谢。

@petryuno1

这是我的DbContext,如果这是你要问的......

public partial class MPSDBEntities : DbContext
{
    public MPSDBEntities() : base("name=MPSDBEntities")
    {
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        throw new UnintentionalCodeFirstException();
    }

    public virtual DbSet<CARD_BY_CHECKTYPE> CARD_BY_CHECKTYPE { get; set; }
    ........
}

【问题讨论】:

  • 你的 DbContext 是什么样的?
  • @petryuno1 查看我编辑的帖子。这些都是在我添加 ADO.NET 实体数据模型时自动生成的。
  • 您的实体有 .edmx 文件?如果是这样,您可以在其上运行“从数据库更新模型”命令吗?
  • 我点击了从数据库更新模型。然后单击完成?没有什么真正改变......同样的错误信息......

标签: c# entity-framework


【解决方案1】:

这对我有用。

从此改变:

connectionString="metadata=res://*/Model.Project.csdl|res://*/Model.Project.ssdl|res://*/Model.Project.msl;

改为:

connectionString="metadata=res://*/;

然后添加其余的连接字符串。希望对您有所帮助。

【讨论】:

  • 试过了。仍然对我大喊同样的错误信息。不过还是谢谢!
  • 您是否同时检查了“App.config”和“Web.config”?
  • 谢谢......我在我的解决方案资源管理器中没有看到 Web.config ......对不起,我没有把它作为一个 C# WPF 项目而不是一个 ASP.NET.. ..
  • 您的连接字符串没有问题,您是否尝试过另一个选择查询?
  • 感谢您的帮助。是的。我什至尝试过最简单的方法,例如 var temp = mpsEntities.CARD_BY_CHECKTYPE.ToList();也没有工作。但是没有 ToList() 的 var temp = mpsEntities.CARD_BY_CHECKTYPE 并没有给我无法加载指定的元数据资源异常。
猜你喜欢
  • 2014-06-13
  • 1970-01-01
  • 2015-05-15
  • 2014-12-31
  • 1970-01-01
  • 1970-01-01
  • 2016-10-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多