这里有很多帖子提到了NHibernate的Linq支持,但他们已经2岁了。 NHibernate 3.1.0有一个内置的Linq提供程序。我想知道它有什么样的局限性,或者我应该知道我不会遇到太多问题而向前冲?由于Linq提供程序的限制,我最终是否必须在NHibernate中使用本机查询语言?
答案 0 :(得分:1)
3.x LINQ提供商不断变得更好。它支持许多构造,虽然没有EF那么多。它真的很实用。
现在,您编写“我最终将不得不在NHibernate中使用本机查询语言”,就像这是一件坏事。不是。
NHibernate有5种不同的查询方法(Criteria,HQL,LINQ,QueryOver和SQL)。每个都有自己的优点和缺点,更好地适应不同的使用场景。
我的建议是,你要全部学习它们,并使用在每种情况下你想要做的最适合的事情。无论提供者如何,LINQ在与SQL DB通信时总是会泄漏。记住这一点。