Слишком длинный URL запроса RavenDB - PullRequest
2 голосов
/ 16 марта 2012

Я слишком долго получаю URL запроса и спрашиваю, есть ли у кого-нибудь идеи о том, как я могу улучшить то, что у меня есть ...

Здесь я возвращаю список идентификаторов свойств

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, может быть довольно большим, и я получаю URL запроса слишком длинный.

Любые идеи, как я могу уточнить это, чтобы не испытывать эту проблему?

Спасибо

1 Ответ

1 голос
/ 18 марта 2012

Мэтт, Вы ограничены в количестве элементов, которые вы можете использовать в элементе In (). Я не понимаю, что вы пытаетесь сделать, можете ли вы объяснить смысл вашего кода?

...