嗨,為了提供一些背景關系,我有一個訂單串列,這些訂單有一個名為推薦鏈接的屬性,以及一個鏈接到該訂單的用戶 ID,我被要求查詢某個日期范圍內的所有訂單,要么有推薦鏈接或用戶下的第一個訂單有推薦鏈接。目前,這是我的嘗試,但是當我除錯告訴我這不能轉換為 SQL 時,這給了我一個例外。
public async Task<List<List<Order>>> GetOrdersForRevenueReportFromMarketingTeam(RevenueReportDatesRequest dates)
{
var query = Table.AsQueryable()
.Include(o => o.ReferralLink)
.GroupBy(o => o.UserId)
.Where(group => group
.First().ReferralLink != null)
.Select(group => group
.Where(o =>
o.CreatedDate >= dates.StartDate &&
o.CreatedDate <= dates.EndDate &&
o.Fulfilled == true &&
o.Status.Contains("refunded") == false
).ToList());
return query.ToList();
}
我將不勝感激任何幫助!
uj5u.com熱心網友回復:
嘗試以下查詢。
將回傳型別更改為 Task<List<Order>>
public Task<List<Order>> GetOrdersForRevenueReportFromMarketingTeam(RevenueReportDatesRequest dates)
{
var orders = Table.AsQueryable();
var query =
from o in orders
from first in orders
.Where(first => first.UserId == o.UserId)
.OrderBy(first => first.CreatedDate)
.Take(1)
.DefaultIfEmpty()
where first.ReferralLink != null &&
o.CreatedDate >= dates.StartDate &&
o.CreatedDate <= dates.EndDate &&
o.Fulfilled == true &&
o.Status.Contains("refunded") == false
select o;
return query.ToListAsync();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/370199.html
上一篇:從資料庫中獲取資料并重新寫入
