C# Skip and Take正在实体框架中生成异常

C# Skip and Take正在实体框架中生成异常,c#,sql,.net,entity-framework,linq,C#,Sql,.net,Entity Framework,Linq,在执行以下查询时,我在InnerException中得到的错误如下 {“OFFSET”附近的语法不正确。 FETCH语句中NEXT选项的用法无效。 关键字“AS”附近的语法不正确。 “OFFSET”附近的语法不正确。 FETCH语句中NEXT选项的用法无效。 关键字“AS”附近的语法不正确。 “OFFSET”附近的语法不正确。 FETCH语句中NEXT选项的用法无效。 关键字“AS.”附近的语法不正确。} C#代码: var db=new DigilibEntities(); 列表标题=新列表(

在执行以下查询时,我在InnerException中得到的错误如下

{“OFFSET”附近的语法不正确。 FETCH语句中NEXT选项的用法无效。 关键字“AS”附近的语法不正确。 “OFFSET”附近的语法不正确。 FETCH语句中NEXT选项的用法无效。 关键字“AS”附近的语法不正确。 “OFFSET”附近的语法不正确。 FETCH语句中NEXT选项的用法无效。 关键字“AS.”附近的语法不正确。}

C#代码:

var db=new DigilibEntities();
列表标题=新列表();
titles=db.titles
.包括(“主题”)
.包括(“主题”)
。包括(“职系”)
.其中(x=>x.themes.Count()==0 | |
x、 subjects.Count()==0 | |
x、 grades.Count()=0)
.OrderBy(x=>x.id)
.Skip(10)
.Take(10)
.ToList();

默认情况下,EF将使用FETCH和OFFSET语法进行分页。旧版本的SQL Server不支持此语法。您需要将
ProviderManifestToken
设置为2008,以便EF生成旧的、2008风格的语法


默认情况下,EF将使用FETCH和OFFSET语法进行分页。旧版本的SQL Server不支持此语法。您需要将
ProviderManifestToken
设置为2008,以便EF生成旧的、2008风格的语法


仅供参考,您不需要将
标题设置为空列表,然后将其设置为查询结果时,该列表就会被丢弃。
新建列表()没有用处:
列表标题=db.titles…
您在这里使用的是哪个数据提供程序?实际生成的SQL语句是什么?仅供参考,您不需要将
标题设置为空列表,然后将其设置为查询结果时,该列表将被丢弃。
新建列表()没有用处:
列表标题=db.titles…
您在这里使用的是哪个数据提供程序?生成的实际SQL语句是什么?如果我没有使用EDMX怎么办?如果我没有使用EDMX怎么办?
var db = new DigilibEntities();

List<title> titles = new List<title>();

titles = db.titles
  .Include("themes")
  .Include("subjects")
  .Include("grades")
  .Where(x => x.themes.Count() == 0 || 
              x.subjects.Count() == 0 || 
              x.grades.Count() == 0)
  .OrderBy(x => x.id)
  .Skip(10)
  .Take(10)
  .ToList();