2017-09-23 69 views
0

我有一個linq的行,如果DiffDays> 3,它會被包括在內。 但我有另一個條件,如果ID不存在於另一個表中,它將被包括在內。正確的使用方法包含

我已經使用此代碼嘗試,但它不工作:

var stock = (from x in db.Stock 
      where (!(from re in db.Reserve select re.StockID).ToList().Contains(x.StockID)) 
      || DbFunctions.DiffDays(DateTime.Now, y.DateReserved) > 3 
      select x); 

是什麼做的正確方法?

回答

0

您可以使用Any這樣的:

(from x in db.Stock 
     where !db.Reserve.Any(re => re.StockID == x.StockID) 
     || DbFunctions.DiffDays(DateTime.Now, y.DateReserved) > 3 
     select x);