1 回答

TA貢獻1799條經(jīng)驗 獲得超6個贊
按照我的食譜,這里是 SQL 到 LINQ 的或多或少簡單的轉(zhuǎn)換。我將 移至where接近其約束的位置,并用于let為 創(chuàng)建一個方便的名稱Sum,因為 LINQ 不允許您轉(zhuǎn)發(fā)引用匿名對象成員。
var ans = from tt in trades_trades
where new[] { 17, 18 }.Contains(tt.series_id) && tt.first_party_id == null &&
tt.status != "closed" && tt.status != "cancelled"
join ts in trades_series on tt.series_id equals ts.id
join ttd in trades_trade_distributors on tt.id equals ttd.trade_id
join to in trades_orginizations on ttd.distributor_id equals to.id
join tc in trades_countries on to.country_id equals tc.id into tcj
from tc in tcj.DefaultIfEmpty() // GroupJoin -> left join
group new { tt, ts, ttd, to, tc } by new { tt.series_id, ttd.distributor_id } into tradeg
let Commission_Total = tradeg.Sum(trade => trade.ttd.commission)
orderby Commission_Total descending
select new {
tradeg.Key.series_id,
tradeg.First().to.name,
tradeg.First().ts.nickname,
Country_Name = tradeg.First().tc == null ? null : tradeg.First().tc.name,
Commission_Total
};
- 1 回答
- 0 關(guān)注
- 113 瀏覽
添加回答
舉報