Linq Sélectionnez États - Lorsqu'Elle N'Est Pas
Je suis en train d'écrire l'LINQ instruction qui est équivalent à:
select e.EmployeeID, EmployeeName = e.FirstName + ' ' + e.LastName
from Employees e
where e.EmployeeID not in
(
select EmployeeID from Managers
)
Je pense que je suis assez proche avec les éléments suivants:
from e in Employees
where e.EmployeeID != //This is where I'm lost
(
from m in Managers select m.EmployeeID
)
select new
{
e.EmployeeID,
EmployeeName = e.FirstName + ' ' + e.LastName
}
Je suis en train de mettre ceci en Html.DropDownList.
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas exactement sûr de ce que le bon requête de notation pour ce qui est, mais la suite de syntaxe étendue le travail sera fait
À l'aide de
Any
:Ou, à l'aide d'une jointure gauche:
Vous pouvez obtenir le résultat que vous souhaitez avec un fluide de mise en œuvre de Linq.À l'exception de():
de sortie:
Utiliser le .Méthode contains() et insérer une ! créer un PAS la syntaxe de style.
Ce serait {collection}.Contient(this != pour qu');
Cela peut être d'intérêt pour vous aussi: http://srtsolutions.com/blogs/billwagner/archive/2006/04/10/linq-samples-part-11.aspx
Voici un article sur l'utilisation de l'instruction IN avec LINQ. Avec un peu d'huile de coude, je suis sûr que vous pourriez modifier la technique pour faire un PAS DANS.
http://blogs.msdn.com/alexj/archive/2009/03/26/tip-8-writing-where-in-style-queries-using-linq-to-entities.aspx