Я получаю URL запроса слишком долго проблемы и спрашивает, нет ли у кого-нибудь идеи о том, как я мог бы улучшить то, что у меня есть ...RavenDB Запрос URL Too Long
Здесь я возвращаю список недвижимости идентификаторами
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));
проблемы, количество собственности идентификаторов которые возвращаются в свойствахAlreadySent, могут быть довольно много, и я получаю URL-адрес запроса слишком долго.
Любые идеи, как я могу усовершенствовать это, чтобы не испытать эту проблему?
Благодаря
Являются ли ваши результаты.Where() IQueryable или IEnumerable? –
Привет, Боб, его IQueryable – Matt
Хотел бы я помочь, но я использовал только Raven .NET API. В качестве обходного пути я предположил, что вы могли бы получить все, а затем фильтровать в памяти. Мне будет любопытно увидеть ответ здесь ... –