spa*_*eys 3 linq vb.net performance
我的公司刚刚开始使用 LINQ,我仍然对 LINQ 命令和 SQL 的抽象性(如果那是一个词)有一点麻烦,我的问题是
Dim query = (From o In data.Addresses _
Select o.Name).Count
Run Code Online (Sandbox Code Playgroud)
在我看来,SQL 正在返回所有行,并且对 IQueryable 结果中的行数进行计数,所以我会更好
Dim lstring = Aggregate o In data.Addresses _
Into Count()
Run Code Online (Sandbox Code Playgroud)
还是我想多了 LINQ 的工作方式?在家里使用 VB Express,所以我看不到发送到数据库的实际 SQL(我认为),因为我无权访问 SQL 分析器
如前所述,这些在功能上是等效的,一个只是使用查询语法。
正如我在评论中提到的,如果您将以下内容评估为LINQPad 中的 VB 语句:
Dim lstring = Aggregate o In Test _
Into Count()
Run Code Online (Sandbox Code Playgroud)
您可以在生成的 SQL 输出窗口中看到:
SELECT COUNT(*) AS [value]
FROM [Test] AS [t0]
Run Code Online (Sandbox Code Playgroud)
这与评估的以下 VB LINQ 表达式相同:
(From o In Test_
Select o.Symbol).Count
Run Code Online (Sandbox Code Playgroud)
你得到完全相同的结果。
归档时间: |
|
查看次数: |
13410 次 |
最近记录: |