Yes, I explored that. But how will that work for the complex properties? Only the root object would know it's in a loading state.
________________________________ > Date: Fri, 29 May 2009 02:22:33 +0800 > Subject: Re: Dirty Tracking Issue > From: sky...@gmail.com > To: user-cs@ibatis.apache.org > > We can bypass to set 'dirty' if the AOP generation mechanism can know an > object is in 'loading' state. > > We can use a custom IBatisNet.Common.Utilities.IObjectFactory to mark an > object 'loading'. > > And we can use a wrapped ISqlMapper to clean the 'loading' flag as: > > public object QueryForObject(string statementName, object parameterObject) { > Object result = originalSqlMapper.QueryForObject(...); > > result.IsLoading = false; > return result; > } > > > Yaojian > > On Fri, May 29, 2009 at 1:55 AM, Sal Bass> wrote: > > > > I am having a dilema with implementing dirty tracking on my entities. I am > using AOP to mark an entity as "dirty" when a property is set. The problem > occurs when I load the entities using Ibatis because it sets the properties > during mapping which makes the entity dirty (no, I can't use constructor > mapping here). So, I use a RowDelegate to mark the entity clean before > returning it. Works great....except for when I am loading a root object with > several complex properties (ILists of other entities). The RowDelegate is > obviously not fired for each complex property, so they are returned as dirty. > > > > > Any idea of how I can get at all of the complex properties to mark them clean > before returning the entity? > > > > > > > > _________________________________________________________________ > > HotmailĀ® goes with you. > > http://windowslive.com/Tutorial/Hotmail/Mobile?ocid=TXT_TAGLM_WL_HM_Tutorial_Mobile1_052009 > > _________________________________________________________________ Windows Liveā¢: Keep your life in sync. http://windowslive.com/explore?ocid=TXT_TAGLM_BR_life_in_synch_052009