Linq to NHibernate自定义字符串查询操作的可扩展性?

时间:2010-11-26 11:01:40

标签: linq nhibernate expression-trees linq-to-nhibernate

我希望能够在我的NHibernate Linq表达式中使用自定义字符串查询。让我们举个例子(这只是一个例子)我希望能够选择包含属性的实体,该属性是特定字符串的字谜:

var myEntities = EntityRepository.AllEntities.Where(x => x.Description.IsAnagramOf('hits');

我想这个过程涉及的步骤是:

  1. 定义要确定的SQL Server UDF 两个字符串是否是字谜。

  2. 定义一个名为的扩展方法 IsAnagramOf()用于String     类。

  3. (这是棘手的)。修改 Linq到NHibernate的     用于解析表达式的组件     树,以便将呼叫转换为     扩展方法进入     适当的SQL UDF调用。
  4. 我的问题是这个。 Linq to NHibernate是否包含某种可扩展性模型,使我能够“插入”我自己的自定义字符串操作,或者我是否真的必须修改现有的源代码以在我的shiznit中添加到表达式树解析组件中?

1 个答案:

答案 0 :(得分:4)

可扩展性建立在NH 3.0(下个月的最终版本)中。

您可以在http://fabiomaulo.blogspot.com/2010/07/nhibernate-linq-provider-extension.html

看到完整的工作示例