如何在服务器上执行Linq to SQL查询逻辑?
我创建了一个Linq查询并将其作为IEnumerable返回。对.Count()或.Take(5)等查询的后续操作将在CLR中的客户端上进行评估,而不是在服务器上进行评估。
答案 0 :(得分:2)
转换为IEnumerable将导致执行查询 - 因此数据现在位于客户端。
如果要在服务器端执行分页,则应该执行这些操作,因为它仍然是执行较晚的IQueryable。
答案 1 :(得分:0)
IEnumerable是问题所在。将Linq.DataQuery作为IQueryable返回允许Linq to SQL向查询添加其他操作。我在描述这个问题时想出了这个。