Добейтесь равных с T-SQL ROW_NUMBER + OVER в Linq - PullRequest
0 голосов
/ 01 октября 2009

Можно ли добиться следующего в Linq?

Я пытаюсь получить список записей, в которых есть столбец, в котором отображается номер строки, начиная с 1. Мне нужно отобразить номер строки в элементе управления gridview, чтобы визуально указать пользователю, сколько строк было заполнено. , Почему ты спрашиваешь? Пользователь должен ввести точное число точек данных в этой сетке, чтобы соответствовать «размеру выборки». Это приложение для записи данных о качестве ...

Может быть, этого можно достичь, используя событие RowDataBound и создавая его на лету?

Вот запрос:

SELECT ROW_NUMBER() OVER (ORDER BY [InspDataID]) AS 'RowNumber'
,[InspDataID]
      ,[KeyCharID]
      ,[InspValue]
  FROM [IncomingInsp].[dbo].[InspData]
where [KeyCharID] = 41

Я использую в проекте синтаксис SubSonic3 и Linq. Я все еще учу больше Linq.

Я попытался создать представление на основе запроса выше (за исключением критериев), НО критерии применяются после того, как все строки выбраны, а мой столбец округленного числа заканчивается неправильно.

На данный момент я создал сохраненный процесс, который принимает KeyCharID в качестве критерия. Это работает. НО я надеялся, что смогу добиться этого в Линке. Я видел сообщения, в которых эта функция ROW_NUMBER используется в EF для подкачки страниц, но я не понял этого ...

Спасибо за вашу помощь,

Джош Блэр

1 Ответ

2 голосов
/ 05 октября 2009

У метода LINQ Select () есть перегрузка, которая дает вам номер строки. Проверять, выписываться Как добавить ROW_NUMBER к запросу или объекту LINQ?

...