我有一个表,看起来像这样:的LINQ到SQL过滤的最后一个元素的日期
FruitID | BasketID | HarvestDate
10 | 435 | 10/1/2014
11 | 430 | 8/4/2014
12 | 435 | 3/1/2014
13 | 430 | 5/2/2014
我想在BasketIDs的列表,以传递和返回只有BasketID,所有的HarvestDate少比某个日期。例如,如果我传递430和435以及9月29日的数据,那么查询应该只返回430,因为435的Fruit 10的HarvestDate超过了参数。
这是我有:
var Output = (from f in MyDC.Fruits
where TheBasketIDs.Contains(f.BasketID) &&
f.HarvestDate <= TheDate
select f.BasketID).ToList();
我的直觉告诉我,我应该按匹配的,然后排序HarvestDate通过ID和采取BasketIDs其中最后日期是小于日期参数BasketIDs但我坚持语法。我该如何解决这个问题?
谢谢。
什么让你觉得你需要“修复”查询?你有没有试过你已经有的查询? – 2014-10-16 14:57:18
是的,这是我的查询,问题是当我通过日期9/29时,它将同时返回430和435。它不应该返回435,因为那个篮子的收获日期也是10/1。该查询的工作原理是它不会出错,但不会返回预期值。 – frenchie 2014-10-16 15:01:18