Antworten:
Verwenden des Lambda-Ausdrucks.
var result = EFContext.TestAddresses.Select(m => m.Name).Distinct();
Versuche dies:
var results = (from ta in context.TestAddresses
select ta.Name).Distinct();
Dies gibt Ihnen eine IEnumerable<string>
- Sie können es anrufen .ToList()
, um eine zu bekommen List<string>
.
Die Art und Weise, wie @alliswell gezeigt hat, ist völlig gültig, und es gibt noch einen anderen Weg! :) :)
var result = EFContext.TestAddresses
.GroupBy(ta => ta.Name)
.Select(ta => ta.Key);
Ich hoffe, es wird jemandem nützlich sein.
DBContext.TestAddresses.Select(m => m.NAME).Distinct();
Wenn Sie mehrere Spalten haben, gehen Sie wie folgt vor:
DBContext.TestAddresses.Select(m => new {m.NAME, m.ID}).Distinct();
In diesem Beispiel keine doppelte CategoryId und kein CategoryName. Ich hoffe, dies wird Ihnen helfen
Entity-Framework Wählen Sie einen eindeutigen Namen:
Angenommen, Sie verwenden Ansichten, in denen Sie mehrere Tabellen verwenden, und möchten in diesem Fall einen eindeutigen Wert anwenden. Zuerst müssen Sie den Wert in der Variablen speichern und dann können Sie Distinct auf diese Variable wie diese anwenden.
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();
}
Oder Sie können dieses einfache Beispiel ausprobieren
Public Function GetUniqueLocation() As List(Of Integer)
Return db.LoginUsers.Select(Function(p) p.LocID).Distinct().ToList()
End Function
Verwenden Sie
zum Beispiel Select (). Distinct ()
DBContext db = new DBContext();
var data= db.User_Food_UserIntakeFood .Select( ).Distinct();
Um ORDER BY items must appear in the select list if SELECT DISTINCT
Fehler zu vermeiden , sollte das Beste sein
var results = (
from ta in DBContext.TestAddresses
select ta.Name
)
.Distinct()
.OrderBy( x => 1);
Entity-Framework Wählen Sie einen eindeutigen Namen:
Angenommen, Sie möchten alle ersten Daten einer bestimmten Spalte jeder Gruppe.
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);
}
}