目前,我在通用信息庫實現了這個功能更新數據不會更新之後調用.CurrentValues.SetValues
public virtual void Update(TEntity entity)
{
var dbContext = _context as DbContext;
var entry = dbContext.Entry(entity);
var key = GetPrimaryKey(entry);
if (entry.State == EntityState.Detached)
{
var currentEntry = _dbSet.Find(key);
if (currentEntry != null)
{
dbContext.Entry(currentEntry).CurrentValues.SetValues(entity);
dbContext.Entry(currentEntry).State = EntityState.Modified;
}
else
{
_dbSet.Attach(entity);
entry.State = EntityState.Modified;
}
}
dbContext.SaveChanges();
}
我試圖調試,發現「currentEntry」的值更新爲同作爲「實體」。但數據庫中的數據不會更新。如果您有任何解決方案,請幫助。
當你監視由SaveChanges執行的SQL時,你會看到什麼? – 2014-11-04 07:57:38