Ravendb Raven数据库查询

Ravendb Raven数据库查询,ravendb,Ravendb,我正在使用MapReduce索引进行查询。我想选择filter by LicenseID/LicenseID,它可以是一个或多个,由文本框中输入的逗号分隔 e、 g L1 (select having LicenseId only L1) L1,L2 (select having LicenseId only L1 OR L2) L2,L3,L5 (select having License

我正在使用MapReduce索引进行查询。我想选择filter by LicenseID/LicenseID,它可以是一个或多个,由文本框中输入的逗号分隔

e、 g

       L1                (select having LicenseId only L1)

       L1,L2           (select having LicenseId only L1 OR L2)

       L2,L3,L5      (select having LicenseId only L3 OR L3 OR L5)
以下是结果文件:

public class GrossSalesByRevenueClass

{

public string LicenseId { get; set; }

public string RevClass { get; set; }

public decimal GrossSales { get; set; }

public decimal NetSales { get; set; }

public int Quantity { get; set; }

public bool NonSales { get; set; }

public DateTime Day { get; set; }

public string DayName { get; set; }

public int Month { get; set; }

public int Quarter { get; set; }

public int Year { get; set; }

}
索引为:

public class IdxGrossSalesByRevenueClassByDay : AbstractIndexCreationTask<Ticket, GrossSalesByRevenueClass>
{

 public IdxGrossSalesByRevenueClassByDay()

{

Map = docs => from doc in docs
from c in doc.Coversfrom t in c.TicketItems
 select new
{
LicenseId = doc.LicenseId,
RevClass = t.RevenueClass,
GrossSales = t.TicketItemGross,
NetSales = t.NetPrice,
Quantity = t.Quantity,
NonSales = t.IsNonSales,
Day = doc.TicketDate.Date,
DayName = doc.TicketDate.ToString("ddd")
};

 Reduce = result => from r in result
 group r by new { r.NonSales, r.RevClass, r.Day, r.LicenseId } into g
 select new
{
LicenseId = g.Key.LicenseId,
RevClass = g.Key.RevClass,
GrossSales = g.Sum(x => x.GrossSales),
NetSales = g.Sum(x => x.NetSales),
Quantity = g.Sum(x => x.Quantity),
NonSales = g.Key.NonSales,
Day = g.Key.Day,
DayName = g.Select(x => x.DayName).FirstOrDefault(),
};

}

}
公共类idxgrossalesbyrevenueclassbyday:AbstractIndexCreationTask
{
公共IdxGrossSalesByRevenueClassByDay()
{
Map=docs=>来自文档中的文档
从单据中的c到单据中的t
选择新的
{
LicenseId=doc.LicenseId,
RevClass=t.RevenueClass,
Grossales=t.TicketItemGross,
NetSales=t.NetPrice,
数量=t.数量,
非销售=t.非销售,
日期=doc.TicketDate.Date,
DayName=doc.TicketDate.ToString(“ddd”)
};
Reduce=result=>来自结果中的r
按新{r.NonSales,r.RevClass,r.Day,r.LicenseId}将r分组为g
选择新的
{
LicenseId=g.Key.LicenseId,
RevClass=g.Key.RevClass,
Grossales=g.Sum(x=>x.Grossales),
NetSales=g.Sum(x=>x.NetSales),
数量=g.总和(x=>x.数量),
非销售=g.Key.非销售,
Day=g.Key.Day,
DayName=g.Select(x=>x.DayName).FirstOrDefault(),
};
}
}
我的疑问如下:

GrossSalesByRevenueClassCollection = session.Query<GrossSalesByRevenueClass, IdxGrossSalesByRevenueClassByDay>()

                    .TransformWith<GrossSalesByRevenueClassTransformer, GrossSalesByRevenueClass>()

                    .Where(x => x.Day >= d1 && x.Day <= d2 && (?????))
grossalesbyrevenueClassCollection=session.Query()
.与()
.其中(x=>x.Day>=d1&&x.Day类似的内容

var licenses = userLicenses.Split(",");

GrossSalesByRevenueClassCollection = session.Query<GrossSalesByRevenueClass, IdxGrossSalesByRevenueClassByDay>()
                    .Where(x => x.Day >= d1 && x.Day <= d2 && x.LicenseId.In(licenses))
var-licenses=userLicenses.Split(“,”);
GrossSalesByRevenueClassCollection=session.Query()
其中(x=>x.天>=d1和x.天