[英]How to TOP, ORDER BY and DISTINCT in the same query with Linq-To-Sql?
如何將以下查詢轉換為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的數據加上總和的真實類,然后選擇這種類型的對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.