I can understand your point of view, Fabio, that NHibernate has 5
other query mechanisms - many more mature - than the LINQ provider.
The reality in the .NET space is that LINQ is king. The preferred
query mechanism for LINQ-to-SQL and EF are both LINQ. Look at the
uptake of LINQ-to-NHibernate even though it's a proof-of-concept.
Having a solid LINQ implementation in v3 - as Patrick is pushing for -
will have a dramatic effect on the acceptance of NHibernate outside
its core demographic of current NH users or those coming from
Hibernate. For example, I tried a simple LINQ query with an orderby
clause and it failed with a Antlr.Runtime.NoViableAltException.

var query = from foo in session.Query<Foo>()
                   orderby foo.Bars.Count()
                   select foo;

(As you can probably guess, a Foo has a collection of Bars.) Writing
this same query in HQL works just fine:

var query = session.CreateQuery("select foo from Foo foo order by
size(foo.Bars)");

Yes, HQL is much more mature. I realize that. Newcomers to NH will
not. They'll get that wacky exception and won't think, "Is there
another way I can query with NH?" They'll think, "NH is broken."

This isn't meant to detract from the work that Steve Strong has done.
He has done an amazing job in building up the foundation, but as
Patrick points out, LINQ needs some polishing. We've got patches with
test cases waiting for evaluation. Can we try to fix the major (and
hard-to-fix later) issues before NH3 releases? Please? Pretty please?

James

On Nov 20, 11:59 am, Fabio Maulo <[email protected]> wrote:
> I can understand your feeling.
>
> I would understand your definition of:
> - pertinent comment
> - no attention
> - many issues
>
> The Linq provider is and will be our most popular source of issue/bugs for
> the next two years, at least, but I'm sure that a lot of applications, using
> NHibernate, are not using Linq to query the DB... perhaps "fundament", "very
> important" are only the result of subjective point of view, respectable but
> *a* point of view as any other.
> The Linq provider, in NH, is only an option to query your persistent domain;
> we have another 5.
>
> More than one year ago we take the decision to begin the release process
> after Steve (Strong) has defined the new Linq provider as  ready to be
> released. We will release NH fixing what the team can do (using real
> solutions and not patches) and then we can concentrate our effort for the
> next release and, perhaps, some commiter can put the attention you are
> looking for in the issues that are important for you.
>
> P.S. perhaps you will commit by yourself.
>
>
>
>
>
>
>
>
>
> On Sat, Nov 20, 2010 at 2:33 PM, Patrick Earl <[email protected]> wrote:
> > Hi all.
>
> > While I'm thankful for all the work that was put into the Linq
> > provider for this release, I'm rather disappointed in how the beta
> > cycle has gone.  We're facing release, and there are still many very
> > important issues that haven't even been commented on in the Linq
> > area.  To give you some idea, in the entire beta period for the large
> > chunk of code that the Linq provider is, only 4 issues have been
> > resolved.  During that same period, 25 new issues were created with
> > virtually no activity on them.  To give you some idea of what I'm
> > talking about, here's a sampling of the issues.
>
> > Numerous people have filed and voted about parameters not having the
> > correct type:
> > NH-2222
> > NH-2234
> > NH-2244
> > NH-2394
> > A patch is available in NH-2394, without a single pertinent comment.
>
> > The null handling is another area with clear problems.  You likely
> > remember the long messages on the mailing list.  There were also very
> > few tests related to null handling, and numerous bugs.  Despite the
> > provider clearly handling nulls incorrectly, there has been no action
> > on these issues.
> > NH-2370
> > NH-2398
> > NH-2402
> > Again, there is a full patch with extended tests in NH-2402, but not
> > even a single comment on this important issue.  If NH goes to release
> > without resolving NH-2402, it will cause breaking changes in the
> > future.
>
> > There are many Linq issues with patches and tests.  I'll just name
> > NH-2403 since I submitted it.  Again, there has been no attention.
>
> > Maybe I'm annoying, but I do find it quite frustrating when about the
> > only thing that's progressing is the version number and the same bugs
> > and limitations are still present.  I've been happily using NHibernate
> > for years, but it truly is disheartening when even serious / popular
> > issues with full code and tests aren't addressed in any way.
>
> >        Patrick Earl
>
> --
> Fabio Maulo

Reply via email to