我收到请求网址太长的问题,并想知道是否有人对如何改进我的内容有任何想法......
在这里,我返回一个属性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太长了。
我有什么想法可以改进这个以避免遇到这个问题?
由于
答案 0 :(得分:1)
马特 您可以在In()元素中使用的项目数量受限。 我不明白你想要做什么,你能解释你的代码背后的意图吗?