C# Skip and Take正在实体框架中生成异常
在执行以下查询时,我在InnerException中得到的错误如下 {“OFFSET”附近的语法不正确。 FETCH语句中NEXT选项的用法无效。 关键字“AS”附近的语法不正确。 “OFFSET”附近的语法不正确。 FETCH语句中NEXT选项的用法无效。 关键字“AS”附近的语法不正确。 “OFFSET”附近的语法不正确。 FETCH语句中NEXT选项的用法无效。 关键字“AS.”附近的语法不正确。} C#代码: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(); 列表标题=新列表(
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();