How can I use a section in LINQ?

I am confused about how to change this query to LINQ

select CONTENT from ( select CONTENT, CAM_ID, max(CAM_ID) over (partition by DOCUMENT_ID) MAX_ID from T_CAM_REVISION where DOCUMENT_ID = '101' ) where CAM_ID = MAX_ID 

so i can get one content value.

+7
source share
1 answer

There is no way in LINQ to do max(...) over (...) . Here is the equivalent query:

 var maxCamID = context.T_CAM_REVISION .Where(rev => rev.DOCUMENT_ID == "101") .Max(rev => rev.CAM_ID); var query = from rev in context.T_CAM_REVISION where rev.CAM_ID == maxCamID where rev.DOCUMENT_ID == "101" select rev.CONTENT; 

If you need only one result:

 var result = context.T_CAM_REVISION .First(rev => rev.CAM_ID == maxCamID && rev.DOCUMENT_ID == "101") .CONTENT; 
+2
source

All Articles