C# 实体框架核心使用ifs创建查询
大概是这样的:C# 实体框架核心使用ifs创建查询,c#,.net-core,entity-framework-core,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.Pesso
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();
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();
我知道这不存在,但是,存在类似的东西吗?好吧,你可以这样做:
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();
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();
IQueryable query=db.Transacao.AsNoTracking();
如果(x==1)
query=query.Where(w=>w.Confirmado==true);
其他的
query=query.Where(w=>w.Data.Date>=DateTime.Now.Date);
return query.Include(i=>i.Pessoa)
.包括(i=>i.Categoria)
.ToList();
希望能有所帮助。好吧,你可以这样做:
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();
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();
IQueryable query=db.Transacao.AsNoTracking();
如果(x==1)
query=query.Where(w=>w.Confirmado==true);
其他的
query=query.Where(w=>w.Data.Date>=DateTime.Now.Date);
return query.Include(i=>i.Pessoa)
.包括(i=>i.Categoria)
.ToList();
希望能有所帮助。当它是一个记录很少的表时,我使用这个。但是当表中有很多记录时,我们就会遇到问题<代码>IQueryable query=db.Transacao.AsNoTracking()代码>这里我们得到所有的记录,只有在我们过滤它们之后。如果我们可以首先创建查询,并且只在最后应用查询。在调用.ToList()方法之前,查询不会执行,因此在AsNoTracking()行上没有任何记录,您只是在构建查询。检查此链接是否正确。你是对的。我很困惑,因为在调试器中,如果你观察变量,那么记录就会出现,但这仅仅是因为我观察了。。这个解决方案将解决我的问题。谢谢当它是一个记录很少的表时,我使用这个。但是当表中有很多记录时,我们就会遇到问题<代码>IQueryable query=db.Transacao.AsNoTracking()代码>这里我们得到所有的记录,只有在我们过滤它们之后。如果我们可以首先创建查询,并且只在最后应用查询。在调用.ToList()方法之前,查询不会执行,因此在AsNoTracking()行上没有任何记录,您只是在构建查询。检查此链接是否正确。你是对的。我很困惑,因为在调试器中,如果你观察变量,那么记录就会出现,但这仅仅是因为我观察了。。这个解决方案将解决我的问题。谢谢你