实体框架无法加载指定的元数据资源
所以我在我的项目中建立了一个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="data source=PAE0DT-DDWB282MPS2;initial catalog=MPS;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework""
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