【发布时间】:2014-10-29 16:46:49
【问题描述】:
我正在尝试使用 unitofwork 和存储库模式,并且如果我要替换表行中的所有元素(id、颜色、年份),我有以下“更新”方法可以正常工作。
public virtual void Update(TEntity entityToUpdate)
{
dbSet.Attach(entityToUpdate);
(entityToUpdate).State = EntityState.Modified;
}
但我只想更新我传递的特定列(id 和颜色)。它将覆盖其他元素(年份)。
例如,我的 Cars 表中有一条数据库记录:
Id = 1,
color = "red"
year = 2010
如果我像这样更新它......
var location = new Car
{
Id = 1,
color = "blue"
};
unitOfWork.CarRepository.Update(car);
现在的记录是:
Id = 1,
color = "blue"
year = null
我如何重写我的通用存储库方法来更改我提供的内容? (即保持年份值)
【问题讨论】:
标签: c# asp.net-mvc repository-pattern unit-of-work