使用表达式树

时间:2015-12-15 09:36:05

标签: c# linq ldap expression-trees

我开发了一个连接LDAP的应用程序。在.NET框架中,有一个命名空间System.DirectoryServices.Protocols,其中包含一组专用于处理LDAP查询的类。

基本上有两个类:

  • SearchRequest
  • SearchResponse

要查询LDAP SearchRequest,需要以下参数:

  • string distinguishedName
  • string ldapFilter
  • SearchScope searchScope
  • params string [] attributeList

我不喜欢这种方法的是ldapFilter参数。它需要LDAP格式的查询(例如(|(sn=SomeSurname)(givenName=SomeFirstname))。我的想法是创建一些映射,以允许开发人员以方便的方式查询LDAP,即使用LINQ。

我想创建以下方法:

List<User> GetByFilter(Expression<Func<User, bool>> filter)

POCO User表示LDAP用户和过滤器允许以.NET方式使用LINQ查询LDAP。

问题是表达式树和LDAP查询之间的映射是一个复杂的问题。我在互联网上做了一些研究,但我还没有找到任何东西。有没有人知道是否有任何映射器?是否有任何.NET库或Entity / nHibernate驱动程序来执行此操作?

0 个答案:

没有答案