是的,我确实阅读并尝试 了实体框架无法加载指定的元数据资源
我通常首先使用代码并且没有任何问题。但是我需要对一个项目进行故障排除EDMX
语境:
public partial class x500Entities : DbContext
{
public x500Entities()
: base("name=x500Entities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<WorkerPublicExtended> WorkerPublicExtendeds { get; set; }
}
连接字符串:
<add name="x500Entities"
connectionString="metadata=res://*/CDISWorkerPublicExtended.csdl|res://*/CDISWorkerPublicExtended.ssdl|res://*/CDISWorkerPublicExtended.msl;provider=System.Data.SqlClient;provider connection string="data source=xserver;initial catalog=x500;persist security info=True;user id=xuser;password=xpassword;MultipleActiveResultSets=True;App=EntityFramework""
providerName="System.Data.EntityClient"/>
错误 :
EntityFramework.dll 中发生“System.Data.Entity.Core.MetadataException”类型的异常,但未在用户代码中处理其他信息:无法加载指定的元数据资源。
打到这条线后:
return context.WorkerPublicExtendeds.FirstOrDefault(x => x.upperIDSID == idsid.ToUpper().Trim());
完整方法:
public WorkerPublicExtended GetEmployee(string idsid)
{
using (x500Entities context = new x500Entities())
{
return context.WorkerPublicExtendeds.FirstOrDefault(x => x.upperIDSID == idsid.ToUpper().Trim());
}
}
- 为什么会这样?
- 我连接到 sql server ssms 并且我没有看到
WorkerPublicExtended
我在图表 edmx 和模型中看到的表,我没有看到该名称被转换为真实表名的位置。这怎么样?