实体框架核心使用ifs创建查询

时间:2020-05-16 04:50:05

标签: c# .net-core entity-framework-core

类似这样的东西:

        Itens = db.Transacao.AsNoTracking()
            if (x == 1)
                .Where(w => w.Confirmado == true)
            else
                .Where(w => w.Data.Date >= DateTime.Now.Date)
            .Include(i => i.Pessoa)
            .Include(i => i.Categoria)
            .ToList();

我知道这不存在,但是存在类似的东西吗?

1 个答案:

答案 0 :(得分:2)

好吧,您可以执行以下操作:

IQueryable<[your entity here]> query = db.Transacao.AsNoTracking();
if (x == 1)
    query = query.Where(w => w.Confirmado == true);
else
    query = query.Where(w => w.Data.Date >= DateTime.Now.Date);

return query.Include(i => i.Pessoa)
            .Include(i => i.Categoria)
            .ToList();

希望有帮助。