vb.net - Linq to SQL中的Sum和Group By?

标签 vb.net linq-to-sql

刚刚开始使用 Linq to SQL,所以请原谅新手的问题。我正在尝试在 Linq to SQL (VB.NET) 中重现以下(工作)查询:

Select
    f.Title,
    TotalArea = Sum(c.Area)
From Firms f
Left Join Concessions c on c.FirmID = f.FirmID
Group By f.Title
Order by Sum(c.Area) DESC

(一家公司有许多特许权;一个特许权的面积以公顷为单位。我想要一份公司列表,从所有特许权中总面积最大的公司开始。)

我想像这样的东西作为 Linq to SQL 等价物( 伪代码 )
From f As Firm In Db.Firms _
Order By f.Concessions.Sum(Area)

……但这是不对的。谁能指出我正确的方向?

最佳答案

回答
这是正确的 Linq to SQL 等价物

From c In Concessions _
Join f In Firms on f.FirmID equals c.FirmID _
Group by f.Title _
Into TotalArea = sum(c.OfficialArea)  _
Order by TotalArea Descending _
Select Title, TotalArea
感谢@CMS 将我指向 LinqPad - 多么棒的工具。您只需将其指向您的数据库,您就可以开始运行了。不仅包含数百个示例,而且您可以针对包含的实时数据库运行它们。从提供的样本开始,我能够在几分钟内完成上述查询。

关于vb.net - Linq to SQL中的Sum和Group By?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/216513/

相关文章:

c# - .NET MySqlCommand @ 占位符与 MySQL 变量冲突

vb.net - 我应该在 VB/VBA 中使用 Call 关键字吗?

c# - Linq To SQL - 有效处理对象 - 检索第一个/单个对象

c# - 如何使用 Linq 对一些属性进行乘法和求和

.net - Linq to Sql - 不使用 DataLoadOptions 加载子实体?

vb.net - 断开连接后的 SignalR 连接

vb.net - vb中的单例模式

c# - 在 linq 结果中插入额外数据但不插入数据源或等待提交对上下文对象的更改

linq-to-sql - StructureMap 和 LINQ to SQL 连接字符串

c# - JSON 数字根到通用名称