在EF5中,我使用类似的东西来更新实体中的特定属性。
_context.ObjectStateManager.GetObjectStateEntry(entityObj).SetModifiedProperty("Password");
我怎样才能在EF 6中做到这一点?我用它来更新EF 6中的实体。
_context.Entry(existing).CurrentValues.SetValues(updated);
我试图实现这样的目标:
foreach (var property in properties)//List<String> properties
{
_context.ObjectStateManager.GetObjectStateEntry(entityObj).SetModifiedProperty(property);
}
发布于 2014-07-24 06:21:50
我使用它只修改我标识的属性。
public TObject Update(TObject entityObj, List<String> properties)
{
var entities = _context.Set<TObject>().Attach(entityObj);
foreach (var property in properties)
{
_context.Entry(entities).Property(property).IsModified = true;
}
_context.SaveChanges();
return entityObj;
}
发布于 2014-07-22 12:31:53
在EF6,他们稍微修改了一下.你的新电话就是这样打给设置属性值的。
_context.Entry(existing).Property(e => e.Password).CurrentValue = "Password1";
如果您有要更改其属性的字符串值,则会有一个单独的重载。
_context.Entry(existing).Property("Password").CurrentValue = "Password1";
https://stackoverflow.com/questions/24887348
复制相似问题