Ich habe eine Tabelle mit dem Namen CateringPurchaseOrder. Diese Tabelle enthält eine Spalte mit dem Namen "PONO". Diese Spalte enthält denselben Wert mehr als einmal. Ich möchte den Datensatz basierend auf dem eindeutigen Wert in der Spalte "pono" abrufen.linq to Entities distinct Methode
Beispiel:
pono column1
1 value1
1 value2
2 value3
2 value4
Ausgang:
pono coulm1
1 value1
2 value3
ich mit folgendem Code versucht haben:
IEnumerable<CateringPurchaseOrder> order = entites.CateringPurchaseOrders.Distinct<CateringPurchaseOrder>(new CateringPorderComparer());
public class CateringPorderComparer : IEqualityComparer<CateringPurchaseOrder>
{
bool IEqualityComparer<CateringPurchaseOrder>.Equals(CateringPurchaseOrder p1, CateringPurchaseOrder p2)
{
return p1.P_O_No == p2.P_O_No;
}
int IEqualityComparer<CateringPurchaseOrder>.GetHashCode(CateringPurchaseOrder obj)
{
return obj.P_O_No.GetHashCode();
}
}
Ich habe folgende Fehlermeldung:
LINQ to Entities does not recognize the method 'System.Linq.IQueryable`1[MilitarymessModel.CateringPurchaseOrder] Distinct[CateringPurchaseOrder](System.Linq.IQueryable`1[MilitarymessModel.CateringPurchaseOrder], System.Collections.Generic.IEqualityComparer`1[MilitarymessModel.CateringPurchaseOrder])' method, and this method cannot be translated into a store expression.
Haben Sie eine Lösung für dieses Problem?
hallo, danke, wenn ich das Ergebnis dieser Abfrage an die Gridview binden bekam ich den Fehler " Die Datenquelle unterstützt das serverseitige Datenpaging nicht ". Hast du eine Ahnung von diesem Problem? –
überprüfen Sie dies: http://StackOverflow.com/Questions/1661292/The-Data-Source-does-Not-Support-Server-Side-DataPaging –
Der Aufruf von AsEnumerable() war die Magie, die meinen Fehler behoben. Wäre nett gewesen, eine Überladung zu haben, die eine Funktion hat, wie Where(), aber ich nehme, was ich bekommen kann. – Suncat2000