这是一个非常简单的LINQ和/或问题。
在以下查询摘录中,我的目的是获取符合以下三个条件中的任何一个的记录。
我的逻辑是正确的还是有更好的方式来表达这个?
查询摘录
where
((t2.Username == userName) && (viewMode == 1)) ||
((t1.Owner == userName) && (viewMode == 1)) ||
((viewMode == 2))
答案 0 :(得分:2)
这样可以更有效地获得相同的结果:
viewMode == 2 ||
(viewMode == 1 && (t2.Username == userName || t1.Owner == userName))
答案 1 :(得分:2)
你的逻辑看起来很好,你当然可以略有不同:
where ( (viewMode == 1 && ( t2.Username == userName || t1.Owner == userName ))
|| viewMode == 2)
我猜你的眼睛哪个好看!