RavenDB请求URL太长

本文关键字:太长 URL 请求 RavenDB | 更新日期: 2023-09-27 18:28:13

我收到了请求URL太长的问题,不知道是否有人对我如何改进现有内容有任何想法。。。

在这里,我返回一个属性id的列表

var propertiesAlreadySentQuery = Session.Query<Domain.ClientProperty>().Where(x => x.ClientId == clientid);
var propertiesAlreadySent = new int[propertiesAlreadySentQuery.Count()];
var t = 0;
foreach (var i in propertiesAlreadySentQuery)
{
    propertiesAlreadySent[t] = i.PropertyId;
    t++;
}

现在,我想做的是返回一个属性列表,并过滤掉那些已经发送的属性(因此命名!)

var results = from p in Session.Query<Domain.Property>()
                                          where
                                              (p.Development.Latitude >= minLat && p.Development.Latitude <= maxLat) &&
                                              (p.Development.Longitude >= minLong && p.Development.Longitude <= maxLong)
                                          select p;
var propertiesNotSent = results.Where(x => !x.PropertyId.In<Int32>(propertiesAlreadySent));

问题是,在propertiesAlreadySent中返回的属性id的数量可能很大,并且我得到的请求URL太长。

有什么想法吗?我该如何完善它以避免遇到这个问题?

感谢

RavenDB请求URL太长

马特,在in()元素中可以使用的项目数量有限。我不明白你想做什么,你能解释一下你代码背后的意图吗?