2
如果我設置dynamic-update = true我發現在我的攔截器中更新的字段沒有包含在去到數據庫的update語句中。當我將它設置爲false時,包括時間戳的所有列都會更新。我真的想使用動態更新。NHibernate動態更新無法更新攔截器中更改的數據
public class Interceptor : EmptyInterceptor
{
public override Boolean OnFlushDirty(object entity, object id, object[] state,
object[] previousState, string[] propertyNames, IType[] types)
{
var auditEntity = entity as BaseAuditEntity;
if (auditEntity != null)
{
var now = DateTime.Now;
var index = Array.IndexOf(propertyNames, "LastModifiedTimestamp");
state[index] = now;
auditEntity.LastModifiedTimestamp = now;
}
return base.OnFlushDirty(entity, id, state, previousState, propertyNames, types);
}
}
我以爲這條線可能會標記我最後修改的列爲髒。
auditEntity.LastModifiedTimestamp = now;
有沒有什麼我應該在我的攔截器中將時間戳字段標記爲髒?
工作。謝謝!我以爲我已經嘗試過,但最近我一直在嘗試很多不同的東西。 – Jerry 2009-11-23 14:52:29