我可以在Linq中使用if子句吗?
例如:我有一个有4个字段的表(Id,UserId,Type,Sing)。
我想选择记录userid为1,如果Type =“None”,则Sing应为True。
(from d in db.Receive
where ((((d.SendType == "None") ? ((d.Signed) ? true : false) : true)) && userid==1)
select d).ToList();
当我使用
时((d.SendType == "None") ? ((d.Signed) ? true : false) : true)
选择记录如果Type =“None”,则Sing应为True。但是当添加用户条件时,不要返回任何记录。
答案 0 :(得分:2)
不是更好:
from d in db.Receive
where ((d.SendType == "None" && d.Signed) || d.SendType != "None") && userid == 1)
select d
答案 1 :(得分:0)
等等?
(((d.SendType == "None") && (userid == 1)) ? ((d.Signed) ? true : false) : true)
答案 2 :(得分:0)
那里有很多括号......如果我理解你正确使用了userid == 1,那么为什么不用呢
where (((d.SendType == "None" && userid == 1) ? ((d.Signed) ? true : false) : true)))
select d).ToList();