代码之家  ›  专栏  ›  技术社区  ›  David

定制字符串查询操作的Linq到NHibernate扩展性?

  •  4
  • David  · 技术社区  · 14 年前

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

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

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

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

    2. 定义一个称为 字符串的IsAnagramOf() 上课。

    3. (这是个棘手的问题)。修改 林克到尼伯纳特的 用于解析表达式的组件 将调用转换为 扩展方法到 适当的SQL UDF调用。

    我的问题是。LINQ到NHiBiNT是否包含某种可扩展性模型,使我能够“插槽”自己的自定义字符串操作,或者我真的必须修改现有的源代码,以将我的SHINNIT添加到表达式树解析组件中吗?

    1 回复  |  直到 14 年前
        1
  •  4
  •   Diego Mijelshon    14 年前

    扩展性是在NH 3.0(下个月最终发布)中构建的。

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