1
私はlinqで最大ではありませんが、選択した言語です。私はSQLのようなクエリを使用して記述しようとしています。標準scenerio私は請求書を持っており、その請求書は請求書の詳細を持っていました。表を一緒に結合すると、詳細が複数ある請求書が繰り返されます。標準のSQLでは、私は別名またはグループを使用することができます。私はlinqでそれに従うように試みたが、エラーを取得するか、それをフィルタリングしていないだけです。ここでlinqクエリを使用して重複行を削除します
は、私も試してみた私のクエリ
var result = (from invoice in invoices
join invoiceItem in invItems on invoice.Id equals invoiceItem.InvoiceId
orderby invoice.InvoiceNo
select new InvoiceReceiveShipmentVM
{
dtInvoiced = invoice.dtInvoiced,
InvoiceNumber = invoice.InvoiceNo,
InvoiceType = invoice.InvoiceType,
InvoiceStatus = invoice.InvoiceStatus,
Lines = invoiceItem.Line,
Total = invoice.Total,
Carrier = invoice.Carrier,
});
return result.Distinct();
です:
var myList = result.GroupBy(x => x.InvoiceNumber)
.Select(g => g.First()).ToList();
return myList.Skip(fetch.Skip).Take(fetch.Take).AsQueryable();
に等しいとGetHashCodeメソッドをオーバーライドしてください除外したいと考えています。例えばたぶん期待している結果と、このクエリが(間違って)あなたに与えるものを表示してください。 – failedprogramming