当应用程序目标是.NET4时,我有一个代码。
using (DbImageEntities db = new DbImageEntities())
{
_Photo.Data = stream.ToArray();
db.Photo.Attach(_Photo);
db.ObjectStateManager.ChangeObjectState(_Photo, EntityState.Modified);
db.SaveChanges();
}
当app降级为.NET 3.5目标时,Attach(...)和ChangeObjectState(...)调用失败。如何修改此代码以实现3.5兼容性?先谢谢。
答案 0 :(得分:1)
将EF从4.0降级到.NET 3.5是非常糟糕的主意。根本不要那样做。结果将重写您应用程序的一半。
您可以将其更改为:
db.AttachTo("Photos", _Photo);
ObjectStateEntry entry = db.ObjectStateManger.GetObjectStateEntry(_Photo);
entry.SetModified();