实体框架降级至3.5

时间:2011-11-09 08:35:48

标签: entity-framework .net-3.5 .net-4.0

当应用程序目标是.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兼容性?先谢谢。

1 个答案:

答案 0 :(得分:1)

将EF从4.0降级到.NET 3.5是非常糟糕的主意。根本不要那样做。结果将重写您应用程序的一半。

您可以将其更改为:

db.AttachTo("Photos", _Photo); 
ObjectStateEntry entry = db.ObjectStateManger.GetObjectStateEntry(_Photo);
entry.SetModified();