正确的使用方式包含

时间:2017-09-23 09:19:26

标签: c# linq

如果DiffDays>我有一个linq行。 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);

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分: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);