행의 ROW_NUMBER()를 찾는 방법 Linq to SQL은 페이징 (예 : Skip() 및 Take())을 사용할 때 ROW_NUMBER()
을 사용합니다.Linq to SQL
그러나 실제로 쿼리에서 ROW_NUMBER()
값에 액세스하는 방법을 찾을 수 없습니다. 모든 레코드를 다시 가져 오지 않고 쿼리 내에서 레코드의 ROW_NUMBER()를 찾으십시오 ()..
나는이 성공을 T-SQL과 Linq에서 Object로했지만 LINQ to SQL 솔루션은 어렵다. 것 ROW_NUMBER()
을 -
var rowTarget =
mainQuery
.Select((obj, index) => new { obj.ID, Index = index })
.SingleOrDefault(x => x.ID == targetID);
// rowTarget.Index is the answer
그러나 Linq는 SQL에 대한 인덱스 매개 변수를 사용 Select()
의 재 지정을 지원하지 않습니다 (그리고 정말 의미가 있습니다 :
이 같은 행 번호를 얻을 수 있습니다 Skip() 및 Take()가 사용 된 경우에만 사용됩니다.
데이터베이스에서 모든 레코드가 반환되지 않는 솔루션을 찾을 수없는 것 같습니다.
이것도 가능합니까?
http://stackoverflow.com/questions/1165028/how-do-i-add-rownumber-to-a-linq-query-or-entity 는 중복? –
@bassfriend - EF와 LINQ-to-SQL은 이러한 작업에 대해 완전히 다른 지원을하고 있습니다 ... –
나는 대답을보기를 희망합니다. 나는 색인 된 과부하가 L2S에서 작동하지 않는 동일한 문제에 직면 해있다. 나는 증분 ID로 행복 할 것이다; 여러 단계에서해야 할 것 같네요. –