任何Linq Nhibernate搜索?

时间:2013-02-04 01:03:42

标签: linq nhibernate lucene.net nhibernate-search

我想使用lucene.net来搜索数据。我读到了关于lucene.net和nhibernate结合搜索的nhibernate搜索。

但是我使用流利的nhibernate,我喜欢使用linq。我不认为使用流利的nhibernate将是一个问题,但我似乎找不到任何使用linq与nhiberante搜索的例子。

我可以使用linq吗?

1 个答案:

答案 0 :(得分:0)

您可以同时使用NHibernate.Search和FluentNHibernate,只需在创建ISessionFactory时连接NHibernate.Search侦听器。

提前个人意见!

我不喜欢使用linq来使用全文搜索功能,它只是试图隐藏在一个愚蠢的api背后的真实且通常强大的界面,并且通常会出现问题或者在此过程中丢失。 (一个例子是带有简单where user.Alias == "sisve"的linq-to-sql,它自动转换为sql WHERE Alias = 'sisve'。它需要一些详细的知识来理解C#中区分大小写的比较成为一个案例 - SQL Server标准安装中的不敏感比较。)

NHibernate和Lucene都是强大的库,但我会说要将它们分开。自己构建Lucene索引(您可以使用自定义侦听器执行此操作,就像NHibernate.Search侦听器一样),并自行查询。这使您可以更好地了解两个系统的工作方式,并且您可以更轻松地在此基础上实现更好的搜索(您的意思是,方面,自定义提升,......)