I've found the exact problem, it happens in IgnoreCase. The query that
nhibernate generates is not correct. I posted it together with code
i'm using.

I realized that Nhibernate UnitTest that uses Criterion.Example() with
IgnoreCase uses a number as datatype. Because that, the test will
always work correctly.

Follows:

private void button1_Click(object sender, EventArgs e)
        {
            ISessionFactory sf;
            NHibernate.Cfg.Configuration config = new
NHibernate.Cfg.Configuration();

            Assembly assembly = Assembly.Load("BusinessEntities");
            string[] resourceNames = assembly.GetManifestResourceNames
();
            System.IO.Stream streamHbm =
assembly.GetManifestResourceStream(resourceNames[0]);
            config.AddInputStream(streamHbm, resourceNames[0]);

            log4net.Config.XmlConfigurator.Configure();


            sf = config.BuildSessionFactory();

            log4net.Config.XmlConfigurator.Configure();

            ISession session = sf.OpenSession();

            log4net.Config.XmlConfigurator.Configure();

            BusinessEntities.Pessoa pessoa = new
BusinessEntities.Pessoa();
            pessoa.PessNmNome = "ROBALO";



            IList pessoas = session.CreateCriteria(typeof
(BusinessEntities.Pessoa)).Add(NHibernate.Criterion.Example.Create(new
{ PessNmNome = "ROBALO" }).EnableLike().IgnoreCase()).List();
            /*example.EnableLike();
            example.IgnoreCase();
            example.

            criteria.Add(example);
             criteria.List<BusinessEntities.Pessoa>();
             */
        }


SELECT this_.PESS_CD_PESSOA as PESS1_0_0_, this_.PESS_NM_NOME as
PESS2_0_0_ FROM PESSOA this_ WHERE (lower(this_.PESS_NM_NOME)
like :p0);:p0 = 'ROBALO'

Thanks for help!

On 24 set, 05:26, "Richard Brown \(gmail\)" <[email protected]>
wrote:
> Hi Victor,
>
> Is this related to NH-1972?  (http://nhjira.koah.net/browse/NH-1972)
>
> I'm not sure we have enough information to help yet.  The query-by-example
> tests pass using the Oracle9iDialect.
>
> Are you able to provide a failing test case?
> Or even the log output (including SQL) that your application is generating?
>
> Cheers,
>     Richard
>
> --------------------------------------------------
> From: "Victor Hugo" <[email protected]>
> Sent: Wednesday, September 23, 2009 6:56 PM
> To: "nhusers" <[email protected]>
> Subject: [nhusers] Re: bug in Query By Example
>
>
>
> > Sorry,
>
> > I forgot the most basic thing.
>
> > Follows:
>
> > public IList<BE> GetList<BE>(BE businessEntity,bool ignoreCase,bool
> > enabledLike)
> > {
> > ICriteria criteria = Session.CreateCriteria(typeof(BE));
> > NHibernate.Criterion.Example example =
> > NHibernate.Criterion.Example.Create(businessEntity);
>
> > if (ignoreCase == true)
> >  {
> >     example.IgnoreCase();
> >  }
> > if (enableLike == true)
> >  {
> >     example.EnableLike();
> >  }
>
> >   criteria.Add(example);
>
> >   return criteria.List<BE>();
> > }
>
> > I was using MsOracleProvider and Oracle9Dialect, now i m using
> > Oracle9iDialect with the same provider.
>
> > Both with .NET Framework 2.0
>
> > Att,
>
> > Victor
>
> > On 23 set, 12:14, Fabio Maulo <[email protected]> wrote:
> >> Try this.Get a break and go to take a coffee.
>
> >> After 10 minutes come back to read your mail and try to understand the
> >> problem and give you a solution in the same way can do it somebody
> >> haven't
> >> seen your code.
>
> >> 2009/9/23 Victor Hugo <[email protected]>
>
> >> > I think i ve found a bug. After upgrading from 2.0 to 2.1, my pieces
> >> > of code with "Query By Example" dont work anymore.
>
> >> > The code compiles, but at runtime time, the collections dont bring
> >> > elements.
>
> >> > Anyone got this problem?
>
> >> > Att,
>
> >> > Victor
>
> >> --
> >> 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