I have a Uruguayan friend living in Israel; two year ago he ask me for a bug in NH.I said him: "try to recreate the issue in a stand-alone NUnit test" Well... that was the last time; now, before ask me, or create a JIRA ticket, he try a stand-alone test because he know how don't waste time writing mails and mails... ;)
- If you want know if the problem is in NH or in your system, write a stand-alone test. - If you want that NH team can fix an issue quickly, write a test to recreate the issue. - Writing a test may be more quickly than 10 mails. - If your boss want you to fix something quickly, you should say him that a "stand-alone test" is the most quickly way (was proved). 2009/3/30 Will Shaver <[email protected]> > > Fabio and others - we should add "Does this behavior occur if you're > only running one test case" to our list of standard questions. :) > > Glad you got it figured out. > > On Mon, Mar 30, 2009 at 12:56 PM, joshlrogers <[email protected]> > wrote: > > > > Well I almost hate to admit this but I did find the cause. It > > actually is the order in which my unit tests were running. A previous > > unit test was testing the ability to modify the same row that MBUnit > > was subsequently checking to make sure the modified field was null. > > > > I am sorry to have wasted everyone's time but your help was greatly > > appreciated. > > > > Thank you, > > Josh Rogers > > > > On Mar 30, 2:05 pm, Fabio Maulo <[email protected]> wrote: > >> Take your time and go step-by-step starting from the "stand alone" > working > >> test and going to recreate the issue.Remember the step-by-step... you > have a > >> ghost in somewhere and you must find it. > >> > >> 2009/3/30 joshlrogers <[email protected]> > >> > >> > >> > >> > Unfortunately I get the same result. Please let me know if there is > >> > any other information I can provide. Right now this is not a big of > >> > deal as I am writing unit tests but when I go to implement this I have > >> > to have this resolved. I understand we said it is not NH because the > >> > stand alone test worked. However, if I take NH out of the picture I > >> > get nulls as I should so I don't want to get too terribly far into > >> > using NH if I have to rip it out. > >> > >> > Thanks to everyone for helping me fix this issue, > >> > Josh > >> > >> > On Mar 30, 1:16 pm, Will Shaver <[email protected]> wrote: > >> > > Just for fun, change it to be: > >> > > public BaseObject() > >> > > { > >> > > UserAdded = -1; > >> > > DateAdded = DateTime.Now; > >> > > UserEdited = null; > >> > > DateEdited = null; > >> > > } > >> > >> > > (Note underscores deleted) > >> > >> > > -Will > >> > >> > > On Mon, Mar 30, 2009 at 11:11 AM, joshlrogers < > [email protected]> > >> > wrote: > >> > >> > > > Our object model is very trivial for this it is as such: > >> > >> > > > namespace TEAMS_ORM > >> > > > { > >> > > > public class CWTRatingGroup:BaseObject > >> > > > { > >> > > > private int _Id; > >> > > > private string _Name; > >> > > > private IList _RatingRules; > >> > >> > > > public CWTRatingGroup() > >> > > > { > >> > > > _Id = -1; > >> > > > _Name = string.Empty; > >> > >> > > > _UserEdited = null; > >> > > > _DateEdited = null; > >> > >> > > > } > >> > >> > > > public virtual int Id > >> > > > { > >> > > > get { return _Id; } > >> > > > set > >> > > > { > >> > > > _Id = value; > >> > > > } > >> > > > } > >> > >> > > > public virtual string Name > >> > > > { > >> > > > get { return _Name; } > >> > > > set > >> > > > { > >> > > > _Name = value; > >> > > > } > >> > > > } > >> > >> > > > public virtual IList RatingRules > >> > > > { > >> > > > get > >> > > > { > >> > > > return _RatingRules; > >> > > > } > >> > > > set { _RatingRules = value; } > >> > > > } > >> > >> > > > } > >> > >> > > > } > >> > >> > > > namespace TEAMS_ORM > >> > > > { > >> > >> > > > public class BaseObject > >> > > > { > >> > >> > > > protected int _UserAdded; > >> > > > protected DateTime _DateAdded; > >> > > > protected int? _UserEdited; > >> > > > protected DateTime? _DateEdited; > >> > >> > > > public BaseObject() > >> > > > { > >> > > > _UserAdded = -1; > >> > > > _DateAdded = DateTime.Now; > >> > > > _UserEdited = null; > >> > > > _DateEdited = null; > >> > > > } > >> > >> > > > public virtual int UserAdded > >> > > > { > >> > > > get { return _UserAdded; } > >> > > > set { _UserAdded = value; } > >> > > > } > >> > >> > > > public virtual DateTime DateAdded > >> > > > { > >> > > > get { return _DateAdded; } > >> > > > set { _DateAdded = value; } > >> > > > } > >> > >> > > > public virtual int? UserEdited > >> > > > { > >> > > > get { return _UserEdited; } > >> > > > set { _UserEdited = value; } > >> > > > } > >> > >> > > > public virtual DateTime? DateEdited > >> > > > { > >> > > > get { return _DateEdited; } > >> > > > set { _DateEdited = value; } > >> > > > } > >> > >> > > > } > >> > > > } > >> > >> > > > Thank you, > >> > > > Josh > >> > >> > > > On Mar 30, 12:06 pm, John Rayner <[email protected]> > wrote: > >> > > >> We're using nullable value types quite extensively. The only > times > >> > > >> we've had issues like this is when our C# objects were not > properly > >> > > >> coded to handle nullable values. Can we please see the relevant > >> > > >> properties on the CWTRatingGroup class? > >> > >> > > >> On Mar 30, 5:51 pm, Will Shaver <[email protected]> wrote: > >> > >> > > >> > Can you share some of your object model (C#) for this problem? > >> > >> > > >> > On Mon, Mar 30, 2009 at 9:46 AM, joshlrogers < > [email protected]> > >> > wrote: > >> > >> > > >> > > I am even more confused now because when I set up a test case > as > >> > per > >> > > >> > > your link it works just fine. > >> > >> > > >> > > Thanks, > >> > > >> > > Josh > >> > >> > > >> > > On Mar 30, 9:15 am, Fabio Maulo <[email protected]> > wrote: > >> > > >> > >> Do you can recreate the issue in a "stand-alone" NUnit test > ? > >> >http://nhforge.org/blogs/nhibernate/archive/2008/10/04/the-best-way-t. > .. > >> > >> > > >> > >> 2009/3/30 joshlrogers <[email protected]> > >> > >> > > >> > >> > Just thought I would give an update, I saw that there was > a > >> > > >> > >> > 2.1.0Alpha2 version so I upgraded and this issue is still > there > >> > in > >> > > >> > >> > this release. > >> > >> > > >> > >> > Thanks, > >> > > >> > >> > Josh > >> > >> > > >> > >> > On Mar 30, 8:46 am, joshlrogers <[email protected]> > wrote: > >> > > >> > >> > > I apologize the version I am using is: > >> > >> > > >> > >> > > NHibernate-2.0.1.GA-bin > >> > >> > > >> > >> > > On Mar 30, 8:23 am, joshlrogers <[email protected]> > >> > wrote: > >> > >> > > >> > >> > > > 1. It does the same thing when I switch to criteria: > >> > >> > > >> > >> > > > public IList<CWTRatingGroup> GetAllCWTRatingGroups() > >> > > >> > >> > > > { > >> > > >> > >> > > > //return > >> > (List<CWTRatingGroup>)session.CreateQuery("select > >> > > >> > >> > > > from > TEAMS_ORM.CWTRatingGroup").List<CWTRatingGroup>(); > >> > >> > > >> > >> > > > return session.CreateCriteria(typeof > >> > > >> > >> > > > (CWTRatingGroup)).List<CWTRatingGroup>(); > >> > > >> > >> > > > } > >> > >> > > >> > >> > > > 2. I am using the most recent version I could download > from > >> > > >> > >> > > > hibernate.org > >> > >> > > >> > >> > > > 2.0.0.Beta1 > >> > >> > > >> > >> > > > 3. I'll keep that in mind, thank you.... > >> > >> > > >> > >> > > > Is there something I can do....I am thinking this is > me > >> > because I am > >> > > >> > >> > > > sure there have been others that needed to do the same > >> > thing and would > >> > > >> > >> > > > have run into this issue. I really have exhausted my > >> > resources as to > >> > > >> > >> > > > what the cause could be. I know my DB is right, I > know > >> > that when I > >> > > >> > >> > > > don't use NHibernate it works, and I seem to be out of > >> > options with > >> > > >> > >> > > > NHibernate. Anyone have any ideas? > >> > >> > > >> > >> > > > Thank you, > >> > > >> > >> > > > Josh > >> > >> > > >> > >> > > > On Mar 27, 4:26 pm, Will Shaver < > [email protected]> > >> > wrote: > >> > >> > > >> > >> > > > > 1. Does it do this same thing if you do it via > Criteria? > >> > >> Perhaps > >> > > >> > >> > the > >> > > >> > >> > > > > CreateQuery method of querying is broken? > >> > > >> > >> > > > > 2. Are you using trunk or an old version? > >> > > >> > >> > > > > 3. Unless you like extra typing you don't need to > define > >> > Column="xx" > >> > > >> > >> > if it > >> > > >> > >> > > > > is identical to the Name field. > >> > >> > > >> > >> > > > > On Fri, Mar 27, 2009 at 2:22 PM, joshlrogers < > >> > [email protected]> > >> > > >> > >> > wrote: > >> > >> > > >> > >> > > > > > I have actually changed it to not have a type and > I am > >> > still > >> > > >> > >> > receiving > >> > > >> > >> > > > > > the same result.... > >> > >> > > >> > >> > > > > > <?xml version="1.0" encoding="utf-8" ?> > >> > > >> > >> > > > > > <hibernate-mapping > xmlns="urn:nhibernate-mapping-2.2" > >> > > >> > >> > > > > > assembly="TEAMS_ORM" schema="dbo"> > >> > > >> > >> > > > > > <class name > >> > ="TEAMS_ORM.CWTRatingGroup,TEAMS_ORM" > >> > > >> > >> > > > > > table="tblCWTRatingGroups"> > >> > >> > > >> > >> > > > > > <id name="Id" column="Id" > type="Int32" > >> > > >> > >> > unsaved-value="-1"> > >> > > >> > >> > > > > > <generator class="native" > /> > >> > > >> > >> > > > > > </id> > >> > >> > > >> > >> > > > > > <property name="Name" column="Name" > >> > length="50" > >> > > >> > >> > > > > > type="String" not- > >> > > >> > >> > > > > > null="true" unique="true" insert="true" > update="true" > >> > /> > >> > > >> > >> > > > > > <property name="UserAdded" > >> > column="UserAdded" > >> > > >> > >> > type="Int32" > >> > > >> > >> > > > > > not- > >> > > >> > >> > > > > > null="true" insert="true" update="false"/> > >> > > >> > >> > > > > > <property name="DateAdded" > >> > column="DateAdded" > >> > > >> > >> > > > > > type="DateTime" not- > >> > > >> > >> > > > > > null="true" insert="true" update="false" /> > >> > > >> > >> > > > > > <property name="UserEdited" > >> > column="UserEdited" > >> > > >> > >> > > > > > not-null="false" > >> > > >> > >> > > > > > insert="false" update="true" /> > >> > > >> > >> > > > > > <property name="DateEdited" > >> > column="DateEdited" > >> > > >> > >> > > > > > not-null="false" > >> > > >> > >> > > > > > insert="false" update="true" /> > >> > >> > > >> > >> > > > > > <bag name="RatingRules" > >> > > >> > >> > > > > > table="tblCWTRatingGroups_RatingRules" > >> > > >> > >> > > > > > cascade="all"> > >> > > >> > >> > > > > > <key column="GroupId" /> > >> > > >> > >> > > > > > <many-to-many column = > "RuleId" > >> > > >> > >> > > > > > class="TEAMS_ORM.CWTRatingRule, > >> > > >> > >> > > > > > TEAMS_ORM" /> > >> > > >> > >> > > > > > </bag> > >> > >> > > >> > >> > > > > > </class> > >> > >> > > >> > >> > > > > > </hibernate-mapping> > >> > >> > > >> > >> > > > > > This still gives me a 1 for UserEdited and the > current > >> > date for > >> > > >> > >> > > > > > DateEdited. However if I do a SELECT query from > the DB > >> > those > >> > > >> > >> > values > >> > > >> > >> > > > > > are null and if I do a dataset and do the query > myself > >> > they are > >> > > >> > >> > null. > >> > > >> > >> > > > > > The issue is definitely a NHibernate issue I think > it > >> > is safe to > >> > > >> > >> > say > >> > > >> > >> > > > > > at this point. > >> > >> > > >> > >> > > > > > Thanks, > >> > >> ... > >> > >> read more ยป > > > > > > > > > -- Fabio Maulo --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nhusers?hl=en -~----------~----~----~----~------~----~------~--~---
