1

データベースにクエリを実行するLinqコードを作成しています。ブール値に応じて、ステートメントの使用と!ステートメントの使用(つまり、NOT)を切り替える必要があります。以下のif/elseを使用せずにこれを行うにはどうすればよいですか?私は非常に同一のコードを2か所持っていることを意味します。

次の例を参照してください。

private string getFromDB(bool decision)
{
    if (decision)
    {
        return db.Where(p => (Types.Contains(p.CurrentOwner)));
    }
    else
    {
        return db.Where(p => !(Types.Contains(p.CurrentOwner)));
    }
}

LINQ クエリに使用できる必要があり、上記の例は問題の本質まで単純化されています。

前もって感謝します!

4

1 に答える 1

5
private string getFromDB(bool decision)
{
    return db.Where(p => (Types.Contains(p.CurrentOwner) == decision));
}
于 2012-11-22T11:28:06.167 に答える