因此,我在项目中设置了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; }
    ........
}

最佳答案

这对我有用。

从此更改:

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


改成:

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


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

关于c# - Entity Framework 无法加载指定的元数据资源,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49244110/

10-17 01:02