2013-10-02 4 views
0

Я пытаюсь получить набор записей из Active Directory с помощью Query by Example. Этот фрагмент кода будет найти записи с именем «Джон Смит»:Применение нескольких фильтров «или» с использованием запроса с помощью примера

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>; 

, но я хочу, чтобы применить эти фильтры, так что я могу соответствовать любой записи с фамилией «Смит» или данное название «Джон», например «Мэри Смит», «Джон Браун». Возможно ли это с помощью Query by Example - без необходимости запуска нескольких поисков? Я не смог найти никаких документированных примеров.

ответ

2

Вы не можете выполнять поиск ИЛИ с помощью QBE (запрос по примеру).

Вы можете написать запрос LDAP со всем OR-х и И это вы хотите, запустить этот запрос отдельно, вернитесь различающимися именами, а затем посмотреть на все объекты UserContext соответсвующих ... Я знаю, это отстой.

Существует много областей, где не уделялось особого внимания, когда структура AccountManagement была объединена.

Смежные вопросы