LINQ-to-SQL - 什么时候访问数据库?

时间:2011-02-08 18:10:28

标签: linq-to-sql asp.net-mvc-2 sql-server-profiler

在我的asp.net mvc 2应用程序中,我有一个数据量很大的动作。我使用linq-to-sql进行查询,同时使用存储库模式。 当我在SQL Server探查器中检查操作的执行时,我发现正在执行大约60个查询。我的问题是 - 我希望在问题中有足够的信息来回答它 - asp.net mvc对数据库,每个查询进行完整的往返,返回和第四次,或者是因为使用linq,实际上只有一次往返?

2 个答案:

答案 0 :(得分:2)

我相信这是每次查询的一次往返,无论是LINQ查询还是原始SQL。我想这取决于你对“每一个查询”的意思。

回答上述评论:

var result = LINQ; < ---查询已生成,但未执行

foreach(结果中的YourDataType ydt){< ---当您对结果执行某些操作时执行查询

...

}

答案 1 :(得分:1)

这取决于你的Linq的样子。我的理解是,当您的结果集枚举时,您将访问数据库。