我想通過左加入每個組的結果值來獲取值。
var mgga = mggb.GroupBy(i => i.GoodsCode).Select(i => i.MaxBy(x => x.PriceChangeDate));
var oega = oegb.GroupBy(i => i.GoodsCode).Select(i => i.MinBy(x => x.EventSalePrice));
像這樣加入,
var result = from mgg in mgga
join oeg in oega
on new { storeCode = mgg.StoreCode, goodsCode = mgg.GoodsCode } equals new { storeCode = oeg.StoreCode, goodsCode = oeg.GoodsCode } into mgoe
from oeg in mgoe.DefaultIfEmpty()
select new {
GoodsCode = mgg.GoodsCode,
};
但是,這顯示錯誤訊息。
fail: Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[1]
An unhandled exception has occurred while executing the request.
System.InvalidOperationException: The LINQ expression 'g
.AsQueryable()
.Select(e => new {
...
})
.AsQueryable()
.MaxBy(x => x.PriceChangeDate)' could not be translated. Either rewrite the query in a form that can be translated, or switch to client evaluation explicitly by inserting a call to 'AsEnumerable', 'AsAsyncEnumerable', 'ToList', or 'ToListAsync'.
如何使用 IQueryable<'a> 型別加入 mgga 或 oga?
uj5u.com熱心網友回復:
嘗試以下查詢實作。其他部分應該可以作業。
var mgga = mggb.GroupBy(i => i.GoodsCode)
.Select(g => g.OrderByDescending(x => x.PriceChangeDate).First());
var oega = oegb.GroupBy(i => i.GoodsCode)
.Select(g => g.OrderByDescending(x => x.EventSalePrice).First());
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/522809.html
標籤:C#林克
