Entity Framework retour distinctes enregistrements problème

J'ai un PC Enity qui ont certaines Propriétés , je voudrais revenir une liste d'Objets distincts (PC ou d'un Type Complexe ou quoi que ce soit ) basé sur une propriété afin de la lier à des contrôles serveur comme DropDownList . Et Parce que ma méthode situé dans BLL je ne peux pas rendre anonyme de type , j'ai Donc créé une Branche ComplexType qui a deux peroperties.

Je l'ai écrit comme ça, mais il ont repeative dossiers:

List<Branch> result = ( from p in _context.PCs
                        where p.UserId== userId
                        select new Branch()
                                   {
                                      BranchId= p.BranchId,
                                      BranchName=p.BranchName
                                   }).Distinct().ToList();

Edit :
Merci à vous tous , Cela a fonctionné :

List<PC> result = _context.PCs
                  .GroupBy(p=>p.BranchName , p.BranchId})
                  .select(g=>g.First())
                  .ToList();
Voulez-vous dire que vous avez deux éléments dans le result liste qui sont les mêmes dans les deux BranchId ET BranchName? Ce serait surprenant, car cela ne devrait pas arriver avec votre exemple.
Oui, Vous l'obtenez à droite
Ne vous utilisez SQL Server? Si oui, quelle version? Si non, quelle base de données?
SQL Server 2008
C'est étrange. Je viens de tester votre requête et ça marche pour moi, voir ma réponse ci-dessous. De toute façon, vous avez déjà une autre solution de travail...

OriginalL'auteur Mostafa | 2012-04-02