【BUG】使用PartitionBy分组查询,多条件的问题 返回
C#论坛
老数据
1
3401
悬赏:5 飞吻
使用PartitionBy分组查询【分页】,在查询返回结果中使用了子查询, 在子查询条件中使用多个提示 字段“”已被自定义“”的问题
代码如下
var query = Db.Queryable<ErpGoodsSku>()
.WhereIF(!string.IsNullOrEmpty(parm.key), m => m.Code.Contains(parm.key))
.WhereIF(!string.IsNullOrEmpty(parm.guid), m => m.BrankGuid == parm.guid)
.WhereIF(!string.IsNullOrEmpty(parm.time), m => m.AddDate >= Convert.ToDateTime(beginTime) && m.AddDate <= Convert.ToDateTime(endTime))
.PartitionBy(m => new { m.Code, m.Guid })
.Select(m => new StockInventory() {
Code = m.Code,
Sale = SqlFunc.AggregateSum(m.SaleSum),
//Stock = SqlFunc.Subqueryable<ErpInOutLog>().Where(g => g.GoodsGuid == m.Guid && g.Types==1).Sum(g => g.GoodsSum),
Stock = SqlFunc.Subqueryable<ErpInOutLog>().Where(g => g.GoodsGuid == m.Guid).Sum(g => g.GoodsSum),
Transfer = SqlFunc.Subqueryable<ErpTransferGoods>().Where(g => g.GoodsGuid == m.Guid).Sum(g => g.GoodsSum),
Return = SqlFunc.Subqueryable<ErpReturnGoods>().Where(g => g.GoodsGuid == m.Guid).Count(),
Back = SqlFunc.Subqueryable<ErpBackGoods>().Where(g => g.GoodsGuid == m.Guid).Count()
}).ToPageAsync(parm.page, parm.limit);在上面代码中,我注释的部分
g => g.GoodsGuid == m.Guid && g.Types==1
其中,第二个条件g.Types 提示 @Types0已被定义
具体错误如下

在查看SqlBuilder.QueryBuilder.Parameters这里,并没有出现2次@Type0的参数
小杰,有空看下,如果要看具体的,在群里,直接@北京-裕哥
热忱回答(1)
-
feiyit VIP0
2018/6/29找到问题所在了,是异步的问题,把异步换成同步就好了

打脸了
0 回复