Sqlsugar SqlFunc.Subqueryable子查询 返回
var data= await cutomers
.OrderByDescending(cu =>cu.CreateTime)
.Select(cu =>new
{
CustomerId=cu.Id,
WechatNickName=cu.WechatNickName,
CustomerAccount=cu.CustomerAccount,
WeworkUserId=cu.WeworkUserId,
CustomerName=cu.CustomerName,
ProductType = SqlFunc.Subqueryable<Orders>()
.InnerJoin<ProductType>((o, p) => o.ProductTypeId == p.Id)
.Where((o, p) => o.CustomerId == cu.Id && o.IsAct == true && o.OrderEndTime >= now && SqlFunc.IsNull(o.IsRefund, false) == false)
.OrderByDesc((o, p) => p.ProductLevel)
.First(p => new ProductTypeDto
{
ProductTypeId=p.Id,
ProductTypeName=p.ProductTypeName
}),
CustomerTag = SqlFunc.Subqueryable<CustomerProtypeTags>()
.Where(ta => ta.CustomerId == cu.Id && ta.TagId == queryDto.TagId && ta.IsCurrent == true)
.First(ta => new CustomerProTagDto{
TagName= ta.TagName,
TagId= ta.TagId,
Remark=ta.Remark
})
}).ToListAsync();
其中 ProductType 子查询First 不支持(o, p)=>, 只能单个o 或者 p
ProductType = SqlFunc.Subqueryable<Orders>()
.InnerJoin<ProductType>((o, p) => o.ProductTypeId == p.Id)
.Where((o, p) => o.CustomerId == cu.Id && o.IsAct == true && o.OrderEndTime >= now && SqlFunc.IsNull(o.IsRefund, false) == false)
.OrderByDesc((o, p) => p.ProductLevel)
.First((o, p) => new ProductTypeDto
{
ProductTypeId=o.Id,
ProductTypeName=p.ProductTypeName
}),
就提示
无法从用法中推断出方法“Subqueryable<Orders>.First<TResult>(Func<Orders, TResult>)”的类型参数。请尝试显式指定类型参数。
热忱回答(2)
-
fate sta VIP0
1天前.First(ta => new CustomerProTagDto{
TagName= ta.TagName,
TagId= ta.TagId,
Remark=ta.Remark
})
改成select
0 回复 -
fate sta VIP0
1天前first改select
0 回复