刚刚开始使用Linq to sql,所以原谅了新手的问题。我试图在Linq到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
(公司有许多让步;特许权占地面积公顷,我想要一个公司名单,从那些拥有最大面积的优惠项目开始)。
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 – 一个伟大的工具。您只需将其指向您的数据库,即可关闭并运行。不仅包含数百个样品,而且可以将其与包含的实时数据库进行运行。从提供的样品开始,我可以在几分钟内到达上述查询。