如果我有这样的话:
x = from f in first.Include("second")
where f.id == 1
select f
y = from s in second
where s.first.id == 1
select s
是否会将两个查询发送到我的数据库?我意识到我可以设置y = f.second以确保只进行一次调用,但我经常想要考虑我的代码,这样我就可以进行第二次调用,而不管我是否完成了第一次调用 - 必须进行调用你可以传递f.second的重载很烦人。
答案 0 :(得分:1)
假设您枚举查询,将进行两次调用。
但是我经常想要考虑我的代码,以便我可以进行第二次调用,而不管我是否完成了第一次
您是否有理由要将查询分开?您编写的两个查询是相同的。您已经在查询x中检索了所需的所有数据。您不需要执行第二个查询,因为您可以执行
x.Seconds;
//or if there is more than one result in x
x.SelectMany(y=>y.Seconds);