C# 如何从布尔开关或运算符开/关切换

C# 如何从布尔开关或运算符开/关切换,c#,linq,operators,boolean-logic,C#,Linq,Operators,Boolean Logic,我正在编写Linq代码来查询数据库,根据布尔值,我需要在使用语句和使用!语句(即NOT),如何在不使用下面的if/else的情况下执行此操作,这意味着我有两个完全相同的代码 请参见以下示例: private string getFromDB(bool decision) { if (decision) { return db.Where(p => (Types.Contains(p.CurrentOwner))); } else {

我正在编写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)));
    }
}
它必须可用于LINQ查询,并且上面的示例被简化为问题的本质

提前谢谢

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