基礎機構,
public abstract class AuditBase
{
private int? _rowVersion = 0;
public virtual int? RowVersion
{
get { return _rowVersion; }
set { _rowVersion = value; }
}
}
實體,
public partial class AXSERVICES : AuditBase
{}
你可以嘗試DefaultUpdateEventListener
和DefaultSaveEventListener
例如
public class CustomSaveEventListener : DefaultSaveEventListener
{
protected override object PerformSave(object entity, object id, IEntityPersister persister, bool useIdentityColumn, object anything, IEventSource source, bool requiresImmediateIdAccess)
{
((AuditBase)entity).RowVersion = 0;
object obj = base.PerformSave(entity, id, persister, useIdentityColumn, anything, source, requiresImmediateIdAccess);
return obj;
}
}
更新是事務性的。你可能會遇到哪些併發問題? – 2013-05-10 14:16:28
我不知道。我只是想要一個不會導致這種問題的解決方案。 – Lidor 2013-05-11 22:03:35