Comment puis-je faire cette requête SQL
avec Entity Framework
?
SELECT DISTINCT NAME FROM TestAddresses
Utiliser l'expression lambda ..
var result = EFContext.TestAddresses.Select(m => m.Name).Distinct();
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>
.
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.
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.
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
utilisez Select (). Distinct ()
par exemple
DBContext db = new DBContext();
var data= db.User_Food_UserIntakeFood .Select( ).Distinct();
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);
}
}