Hi Fabio,

The link you provided is very helpful, thanks!

My problem is exactly the same as you said in your blog, I mapped enum
to int, after change the map, all work as expected.

On Feb 27, 12:40 pm, Fabio Maulo <[email protected]> wrote:
> http://fabiomaulo.blogspot.com/2008/10/how-test-your-mappings-ghostbu...
>
> 2009/2/26 zhibin <[email protected]>
>
>
>
>
>
> > Hi,
>
> > I am a new user of NHibernate, it plus FluentNHibernate impress me
> > very much, thanks for this great product.
>
> > When I test the following testing code,
>
> >            Contact c;
> >            using (ISession s = sessionFactory.OpenSession())
> >            using (ITransaction t = s.BeginTransaction())
> >            {
> >                c = s.CreateCriteria(typeof(Contact)).Add
> > (Restrictions.Eq("UserName", "ab")).UniqueResult<Contact>();
> >                t.Commit();
> >            }
>
> > it will always generate two sql statement:
>
> > NHibernate: SELECT this_.Id as Id0_0_, this_.FirstName as
> > FirstName0_0_, this_.UserName as UserName0_0_, this_.Role as Role0_0_,
> > this_.LastName as LastName0_0_, this_.CreateDate as CreateDate0_0_,
> > this_.DateOfBirth as DateOfBi7_0_0_, this_.Email as Email0_0_,
> > this_.Title as Title0_0_, this_.Notes as Notes0_0_,
> > this_.Organization_id as Organiz11_0_0_ FROM "Contact" this_ WHERE
> > this_.UserName = :p0; :p0 = 'ab'
>
> > NHibernate: UPDATE "Contact" SET FirstName = :p0, UserName = :p1, Role
> > = :p2, LastName = :p3, CreateDate = :p4, DateOfBirth = :p5, Email
> > = :p6, Title = :p7, Notes = :p8, Organization_id = :p9 WHERE Id
> > = :p10; :p0 = '', :p1 = 'ab', :p2 = 'Customer', :p3 = '', :p4 =
> > '2009-2-26 9:56:36', :p5 = '', :p6 = '', :p7 = 'developer', :p8 =
> > '', :p9 = '4', :p10 = '9'
>
> > I feel very confused since the variable "c" have not been modified
> > within the transaction, why an update statement will be executed?
>
> > I tried to comment out the transaction lines:
> >            Contact c;
> >            using (ISession s = sessionFactory.OpenSession())
> >            // using (ITransaction t = s.BeginTransaction())
> >            {
> >                c = s.CreateCriteria(typeof(Contact)).Add
> > (Restrictions.Eq("UserName", "ab")).UniqueResult<Contact>();
> >                // t.Commit();
> >            }
>
> > Then no update statement be generated.
>
> > Is it the normal behaviour?  Or I made some mistakes otherwise?
>
> > Thanks in advance,
>
> --
> 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to