如何打开/关闭布尔开关和OR运算符

Sys*_*c33 1 c# linq boolean-logic operators

我正在使用Linq代码来查询数据库,并且根据布尔值,我需要在使用语句和使用!语句(即NOT)之间切换,如何在不使用下面的if/else的情况下执行此操作意思是我有两个非常相同的代码.

请参阅以下示例:

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

它必须可用于LINQ查询,上面的示例简化为问题的本质.

提前致谢!

Dan*_*vić 5

private string getFromDB(bool decision)
{
    return db.Where(p => (Types.Contains(p.CurrentOwner) == decision));
}
Run Code Online (Sandbox Code Playgroud)