2016-08-02 61 views
0

我有3個表:LINQ - LEFT JOIN與選擇最大值和檢查,如果記錄不爲空

  • 客戶
  • 用戶
  • 支付

,我需要選擇客戶加盟用戶, 左加入付款。 有時我需要檢查付款最大記錄是否爲空。

我寫了這一點,但它崩潰:

我得到的參數給這個函數 - byCard

from c in _db.Customers 
from p in _db.Payments.Where(r => r.CustId == c.ID && r.Success).OrderBy(r => r.PaymentDate).Take(1).DefaultIfEmpty() 
join u1 in _db.Users on c.UserID equals u1.Id into us 
    from use1 in us.DefaultIfEmpty() 
&& (byCard == "1" ? p!=null : true) 
+0

當你說它崩潰時,你是什麼意思?你有錯誤可以分享嗎? – Andy

回答

0

你不應該使用OrderByDescending,而不是採取最大一個出來?

+0

我遇到了麻煩與最大和小組。我該怎麼做? – user2253844