我有这样的表:
position title
---------------------------
1 "t1"
2 "t1"
3 "t2"
4 "t1"
5 "t2"
我想过滤“t1”标题但是对于当前位置和下一个位置有1个差异的位置。根据这个,如果我首先要“t1”,结果应为[1,2]。
如何使用linq 2 sql编写此查询?
答案 0 :(得分:2)
听起来你想要一个自我加入:
var query = from item1 in db.Items.Where(x => x.title == "t1")
from item2 in db.Items.Where(x => x.title == "t1")
where item1.position + 1 == item2.position
select item1; // Adjust however you want, e.g. new { item1, item2 }
现在我不知道这是否真的可以在SQL中运行......但从逻辑上讲,这就是你想要的。