173 votes

Entity Framework sélectionner nom distinct

Comment puis-je faire cette requête SQL avec Entity Framework ?

 SELECT DISTINCT NAME FROM TestAddresses
 

340voto

alliswell Points 3064

Utiliser l'expression lambda ..

  var result = EFContext.TestAddresses.Select(m => m.Name).Distinct();
 

60voto

marc_s Points 321990

Essaye ça:

 var results = (from ta in context.TestAddresses
               select ta.Name).Distinct();
 

Cela vous donnera un IEnumerable<string> - vous pouvez appeler .ToList() dessus pour obtenir un List<string> .

32voto

Kim Tranjan Points 1358

La manière dont @alliswell a montré est tout à fait valable, et il en existe une autre! :)

 var result = EFContext.TestAddresses
    .GroupBy(ta => ta.Name)
    .Select(ta => ta.Key);
 

J'espère que ça va être utile à quelqu'un.

4voto

Ayaat Points 95

Nom distinctif Entity-Framework Select:

Supposons que si vous utilisez des vues dans lesquelles vous utilisez plusieurs tables et que vous souhaitez appliquer distinctement dans ce cas, vous devez d'abord stocker la valeur dans variable et vous pouvez ensuite appliquer Distinct sur cette variable comme celle-ci ....

 public List<Item_Img_Sal_VIEW> GetItemDescription(int ItemNo) 
        {
            var Result= db.Item_Img_Sal_VIEW.Where(p => p.ItemID == ItemNo).ToList();
            return Result.Distinct().ToList();
        }
 

Ou vous pouvez essayer cet exemple simple

 Public Function GetUniqueLocation() As List(Of Integer)
          Return db.LoginUsers.Select(Function(p) p.LocID).Distinct().ToList()
End Function
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X