我已经将我的项目从EF5升级到了6--我还决定使用新的代码生成策略。
这对我来说意味着一点痛苦--我需要遍历我所有的DAL,并将它们从ObjectContext切换到DbContext。
在做了以下代码更改后,我得到了错误"Cannot resolve symbol '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的另一个访问器,或者针对这种情况推荐的另一种策略?
发布于 2015-01-10 04:36:08
您可以始终使用此方法:
https://stackoverflow.com/a/15896086/61164
但是,它仍然是基于ObjectContext的,因为在DbContext中不使用EntityKeys。我建议重写你的代码,不要使用它们,特别是因为ObjectContext在EF7中基本上已经消失了。
https://stackoverflow.com/questions/27866752
复制相似问题