2017-09-23 85 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); 
相关问题