我在linq中有以下表达式
db.Produto.Where(x => db.ProdutoGroup
.GroupBy(y => new { y.idProduto })
.Select(y => y.Key.idProduto).Contains(x.id))
.GroupBy(x => new { x.composicao, x.atributos, x.idTipoProduto })
.Select(x => new {
qtdeProdutos = x.Count(),
idProduto = x.Max(y => y.id),
liberadosVenda = x.Sum(y => y.flagLiberadoVenda == true ? 1 : 0),
valoresValidados = x.Sum(y => y.flagValoresValidados == true ? 1 : 0)
}).ToList();
它生成以下代码sql
但是这样,它比这个返回我同样的东西的sql语句慢3倍,如何让linq生成这个查询?