我有一个查询,它返回了我的跟随结果
level_1_srg_key level_2_srg_key level_3_srg_key
NULL NULL 1
NULL 1 NULL
NULL 1 1
1 NULL NULL
1 NULL 1
1 1 NULL
1 1 1
1 2 1
1 2 3
3 1 1
这是linq查询:
var query = from t in dbContext.SYSTEM_BEHAVIOURAL_W
where l.Contains(t.SRG_KEY)
group t by
new
{
t.LEVEL_1_SRG_KEY,
t.LEVEL_2_SRG_KEY,
t.LEVEL_3_SRG_KEY
}
into grp
select
grp.Key;
我需要首先按2行的顺序排序此结果 在具有1 NULL的行之后 在具有0 NULL的行
之后怎么做?
答案 0 :(得分:3)
query = query.OrderBy(t =>
(t.LEVEL_1_SRG_KEY == null ? 0 : 1)
+ (t.LEVEL_2_SRG_KEY == null ? 0 : 1)
+ (t.LEVEL_3_SRG_KEY == null ? 0 : 1));