我有一个看起来像这样的表:
ActionID | ActionTime | ActionType | UserID
1 3/22/2013 4 8
2 3/31/2013 1 8
3 4/12/2013 3 8
每个 Action 都有几个 ActionTime,我想获取最新ActionTime 属于某个 ActionType 的用户的所有 ActionID。
这是我的查询,但在我测试它时,它没有按预期工作:
var TheActionType = list of bytes (ie. [1, 3, 5])
(from a in MyDC.Actions
where a.UserID == TheUserID
where TheActionType.Contains(a.ActionType)
orderby a.ActionTime descending (//I only want the last ActionTime each user)
select a.ActionID).ToList();
因此,如果我在 ActionType 中传入 [4,1],我不应该得到任何回报,因为最后一个 ActionTime 的 ActionType 为 3。
基本上,我知道我可以通过首先使用最新的 ActionID,然后使用字节列表运行第二个查询来重做此操作orderby
,.FirstOrDefault()
但.Contains()
我想知道是否有一种方法可以仅使用一个查询来执行此操作。
谢谢。