因此,我在项目中设置了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-DDWB282\MPS2;initial catalog=MPS;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework""
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/