CateringPurchaseOrder という名前のテーブルが 1 つあります。そのテーブルには、「PONO」という名前の列が 1 つあります。その列には同じ値が複数回含まれています。「pono」列の一意の値に基づいてレコードを取得したい。
例:
pono column1
1 value1
1 value2
2 value3
2 value4
出力:
pono coulm1
1 value1
2 value3
私は次のコードで試しました:
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();
}
}
次のエラーが発生しました。
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.
この問題の解決策はありますか?