给定这样的表:
RecordId CreatedDate ParentRecordId
1 2012/05/10 NULL
2 2012/05/13 NULL
3 2012/05/20 1
4 2012/05/30 3
我需要找出位于创建日期之间的记录给日期和 RecordId。
几个例子:
- 如果给定:RecordId=4 和 Date=2012/05/15 我需要返回 RecordId=1 的 Record
- 如果给定:RecordId=4 和 Date=2012/05/25 我需要返回 RecordId=3 的记录
- 如果给定:RecordId=2 和 Date=2012/06/10 我需要返回 RecordId=2 的 Record
- 如果给定:RecordId=2 和 Date=2012/01/01 我需要返回 NULL
- 如果给定:RecordId=1 和 Date=2012/06/01 我需要返回 RecordId=4 的 Record
我认为这必须是一组复杂的连接和计算,我已经挣扎了几个小时而没有任何成功。
这是我需要实现的方法的模型:
public Record GetRecord(int RecordId, DateTime Date)
{
var query = ???
return query;
}