web-dev-qa-db-fra.com

Entity Framework sélectionner nom distinct

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

SELECT DISTINCT NAME FROM TestAddresses
112
astronought

Utiliser l'expression lambda ..

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

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

48
marc_s

La façon dont @ alliswell a montré est tout à fait valable, et il y a une autre façon! :)

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

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

20
Kim Tranjan
DBContext.TestAddresses.Select(m => m.NAME).Distinct();

si vous avez plusieurs colonnes, faites comme ceci:

DBContext.TestAddresses.Select(m => new {m.NAME, m.ID}).Distinct();

Dans cet exemple, aucun ID de catégorie en double ni aucun Nom de catégorie. J'espère que cela vous aidera.

10
Hafiz Asad

Nom distinctif Entity-Framework Select:

Supposons que si vous utilisez à l'aide de vues dans lesquelles vous utilisez plusieurs tables et que vous souhaitez appliquer distinctement dans ce cas, vous devez d'abord pour stocker la valeur dans variable et ensuite vous pouvez 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
4
Ayaat Shifa

utilisez Select (). Distinct ()

par exemple

DBContext db = new DBContext();
var data= db.User_Food_UserIntakeFood .Select( ).Distinct();
3

Nom distinctif Entity-Framework Select:

Supposons que si vous voulez chaque première donnée d’une colonne particulière de chaque groupe;

 var data = objDb.TableName.GroupBy(dt => dt.ColumnName).Select(dt => new { dt.Key }).ToList();

            foreach (var item in data)
            {
                var data2= objDb.TableName.Where(dt=>dt.ColumnName==item.Key).Select(dt=>new {dt.SelectYourColumn}).Distinct().FirstOrDefault();

               //Eg.
                {
                       ListBox1.Items.Add(data2.ColumnName);                    
                }

            }
1
Prajapati Gautam