我的公司刚刚开始使用 LINQ,但我仍然对 LINQ 命令和 SQL 的抽象性(如果这是一个词的话)有一些疑问,我的问题是
Dim query = (From o In data.Addresses _
Select o.Name).Count
在我看来,上面的 SQL 返回所有行,并对 IQueryable 结果中的行数进行计数,所以我会更好
Dim lstring = Aggregate o In data.Addresses _
Into Count()
或者我是否过度思考 LINQ 的工作方式?在家里使用 VB Express,所以我看不到发送到数据库的实际 SQL(我认为),因为我无权访问 SQL 分析器
如前所述,它们在功能上是等效的,只是使用查询语法。
正如我的评论中提到的,如果您将以下内容评估为 VB 语句LINQPad http://linqpad.net:
Dim lstring = Aggregate o In Test _
Into Count()
您可以在生成的 SQL 输出窗口中看到以下内容:
SELECT COUNT(*) AS [value]
FROM [Test] AS [t0]
其与以下 VB LINQ 表达式的计算结果相同:
(From o In Test_
Select o.Symbol).Count
您会得到完全相同的结果。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)