gpt4 book ai didi

c# - 如何使用 Linq-To-Sql 在同一查询中进行 TOP、ORDER BY 和 DISTINCT?

转载 作者:行者123 更新时间:2023-12-02 19:56:07 25 4
gpt4 key购买 nike

如何将以下查询转换为 Linq?

  SELECT DISTINCT TOP 10 A.*,A.X+A.Y AS SUMXY
FROM TABLE_A AS A INNER JOIN TABLE_B AS B ON A.ID = B.AID
ORDER BY SUMXY

我不想分成两个查询。

最佳答案

使用扩展方法并假设 Table_A 和 Table_B 之间有外键关系,以便 TableAs 表上有一个名为 TableBs 的 EntitySet(使用真实的表名称会更容易......叹息)。

var query = db.TableAs.Where( a => a.TableBs.Count() > 0 )
.Select( a => new { A = a, SumXY = a.X + a.Y } )
.OrderBy( a => a.SumXY )
.Take( 10 );

这将返回一个匿名类型对象的集合,其中包含一个名为 A 的 TableA 对象和一个 SumXY(可能是一个 int)。或者,您可以创建一个真实的类来保存 A 的数据加上总和并选择此类型的对象。

关于c# - 如何使用 Linq-To-Sql 在同一查询中进行 TOP、ORDER BY 和 DISTINCT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/809545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com