实体框架无法加载指定的元数据资源

所以我在我的项目中建立了一个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-DDWB282MPS2;initial catalog=MPS;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework&quot;" 
     providerName="System.Data.EntityClient" />

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

System.Data.MetadataException:无法加载指定的元数据资源

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

实体框架:无法加载指定的元数据资源

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

任何人都知道问题是什么? 谢谢。

@ 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; }
    ........
}

这对我有效。

由此改变:

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

改成:

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

之后添加连接字符串的其余部分。 希望能帮助到你。

链接地址: http://www.djcxy.com/p/38809.html

上一篇: Entity Framwork Unable to Load the specified metadata resource

下一篇: Unable to load the specified metadata resource Release vs Debug build