我开发了一个连接LDAP的应用程序。在.NET框架中,有一个命名空间System.DirectoryServices.Protocols,其中包含一组专用于处理LDAP查询的类。
基本上有两个类:
要查询LDAP SearchRequest,需要以下参数:
我不喜欢这种方法的是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驱动程序来执行此操作?