首页 文章

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

提问于
浏览
3

所以我在我的项目中设置了一个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; }
    ........
}

1 回答

  • 0

    这对我有用 .

    从这改变:

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

    改成:

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

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

相关问题