В настоящее время мой код:
using (var context = new PrincipalContext(ContextType.Domain, adDomain))
{
using (var searcher = new PrincipalSearcher(new UserPrincipal(context)))
{
foreach (Principal result in searcher.FindAll())
{
DirectoryEntry entry = result.GetUnderlyingObject() as DirectoryEntry;
if (entry.Properties["Company"].Value?.ToString() == "My Company")
{
// do some stuff
}
}
}
}
Мне просто интересно, можно ли было бы сделать оператор LINQ вместо оператора if
, чтобы получать только те записи, которые меня интересуют.
Примерно так:
foreach (var entry in searcher.FindAll()
.Where(x => x.GetUnderlyingObject<DirectoryEntries>()
.Properties["Company"].Value?.ToString() == "MY Company"))
{
// do some stuff
}