Entity Framework 4: код C # для перевода Microsoft SQL 2005/2008 row_number в поле? - PullRequest
1 голос
/ 24 октября 2010

Является ли .Skip (). Take () единственным способом получения подкачки в Entity Framework?Есть ли способ выбрать номер строки в выводе, чтобы я мог использовать Where( p => p.row > 9 && p.row <21)?

select top 100 ROW_NUMBER() over (order by ID) as row, * 
from myTable

Я бы подумал, что поле ROW_Number () должно существовать в сгенерированном SQL, чтобы он знал, какие строкипропустить и взять.

Конечно, я мог бы обойти это, создав отдельные представления SQL с этим полем, или я мог бы указать точный SQL для EF, но я действительно хочу использовать выражения Linq.

1 Ответ

1 голос
/ 24 октября 2010

Linq для сущностей может работать только с полями, которые сопоставлены с сущностями.Поэтому, если вы создадите представление SQL и сопоставите столбец, содержащий row_number для поля строки в вашей сущности, вы сможете сделать это иначе.

...