我有这个功能性的 Linq-to-Sql 语句。
public IEnumerable<int> GetChildIds(IEnumerable<int> selectedParentIds)
{
using (var context = new MyContext())
{
return context.Children
.Where(c => selectedParentIds.Contains(c.parentId))
.Select(c => c.Id)
.ToList();
}
}
它按照要求为我提供了选定的子 ID,但我一直在运行 SQL Profiler。
该语句似乎向数据库发送了一个单独的请求,selectedParentId
这对我来说似乎不是最佳的。
有没有办法可以重组这个语句来最小化与服务器的流量?我应该采取不同的方法吗,或者,这是否一样好?
编辑
感谢您的指导。
这是我对跟踪输出的解释的错误,Linq-To-SQL 为 SQLServer 2005 做出了完全合理的陈述,就像它为 SQLServer 2008 所做的那样。问题出在其他地方。