0

これは非常に単純なLINQおよび/または質問です。

次のクエリの抜粋では、以下の3つの条件のいずれかに一致するレコードを取得することを目的としています。

私の論理は正しいですか、それともこれを表現するためのより良い方法がありますか?

  • (t2.Username == userName)&&(viewMode == 1)
  • (t1.Owner == userName)&&(viewMode == 1)
  • (viewMode == 2)

クエリの抜粋

where
((t2.Username == userName) && (viewMode == 1)) ||
((t1.Owner == userName) && (viewMode == 1)) || 
((viewMode == 2))
4

2 に答える 2

2

これにより、同じ結果がもう少し効率的に得られるはずです。

viewMode == 2 ||
(viewMode == 1 && (t2.Username == userName || t1.Owner == userName))
于 2012-11-15T17:07:58.963 に答える
2

あなたは論理がうまく見えます、もちろんあなたはそれを少し違ったやり方で行うことができます:

where ( (viewMode == 1 && ( t2.Username == userName || t1.Owner == userName ))
   || viewMode == 2) 

どちらがあなたの目に良く見えるか私は推測します!

于 2012-11-15T17:08:48.837 に答える