使用示例查询应用多个“或”筛选器

本文关键字:筛选 查询 应用 | 更新日期: 2023-09-27 18:33:35

我正在尝试使用示例查询从活动目录中检索一组记录。此片段将找到名为"John Smith"的任何记录:

 PrincipalContext context = new PrincipalContext(ContextType.Domain, contextName);
 User filter = new User(context);
 var users = new List<User>();            
 filter.LastName = "Smith";
 filter.GivenName = "John";
 PrincipalSearchResult<Principal> matches = null;            
 PrincipalSearcher searcher = new PrincipalSearcher(filter);
 matches = searcher.FindAll() as PrincipalSearchResult<Principal>;

但我想应用这些过滤器,以便我可以将任何记录与"史密斯"的姓氏或"约翰"的名字相匹配,例如"玛丽史密斯"、"约翰布朗"。是否可以使用示例查询 - 而无需运行多个搜索?我找不到任何记录在案的例子。

使用示例查询应用多个“或”筛选器

你不能用QBE做任何类型的OR搜索(按示例查询(。

您可以使用所需的所有 OR 和 AND 编写 LDAP 查询,分别运行该查询,取回可分辨名称,然后查找所有匹配的用户上下文对象... 我知道,这很糟糕。

在建立

帐户管理结构时,有很多领域没有给予太多考虑。