我已将我的项目从EF5升级到6 - 我还决定使用新的代码生成策略。
这对我来说有点痛苦 - 我需要遍历所有DAL并将它们从ObjectContext切换到DbContext。
在进行以下代码更改后,我收到错误"无法解析符号' EntityKey':
using (var ctx = DbContextManager<MyDataContext>.GetManager("MyDataContext"))
{
var label = new Label()
{
Id = item.Id,
EntityKey = new EntityKey("MyDataContext.Labels", "Id", item.Id)
};
ctx.DbContext.Labels.Attach(label);
this.WriteNonKeyData(label, item);
ctx.DbContext.SaveChanges();
return ReadData(label);
}
在DbContextManager中是否有另一个EntityKey访问器,或者针对这种情况推荐的其他策略?
答案 0 :(得分:0)
您可以随时使用此方法:
https://stackoverflow.com/a/15896086/61164
但是,它仍然基于ObjectContext,因为EntityKeys不在DbContext中使用。我建议重写你的代码以不使用它们,特别是因为ObjectContext基本上在EF7中消失了。