我有本地的记录Id集合(整数)。Linq to SQL问题
我需要检索有子女的记录,当地收集IDS中的每一个记录。
这里是我的查询:
public List<int> OwnerIds { get; private set; }
...
filteredPatches = from p in filteredPatches
where OwnerIds.All(o => p.PatchesOwners.Select(x => x.OwnerId).Contains(o))
select p;
我收到此错误:
Local sequence cannot be used in Linq to SQL implementation of query operators except the Contains() operator.
我明白。所有()不是由LINQ到SQL支持,但有什么办法做我想做的事情?
“包含运算符除外”。 – 2010-03-26 20:33:58
另外 - 为什么不在“in”中超过1000个项目?我做了这么多次没有后果。 – 2010-03-26 21:07:11
@DavidB - 不知道包含运算符。这就是为什么我说“我不知道一种方式......”,而不是“不”。至于超过1,000项我们实际测试过的项目,并发现在某些情况下,您的查询性能将会下降。如果您的项目超过1,000个,则可以通过将其分解为2个或更多个查询来获得更好的查询性能。 – JMarsch 2010-03-26 22:40:40