我正在尝试使用 Query by Example 从 Active Directory 中检索一组记录。此代码段将查找名称为“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>;
但我想应用这些过滤器,这样我就可以匹配姓氏为“Smith”或给定名称为“John”的任何记录,例如“Mary Smith”、“John Brown”。这是否可以使用 Query by Example 来实现 - 无需运行多个搜索?我还没有找到任何记录在案的例子。