首页 新闻 会员 周边 捐助

Entity Framework Core + SQL Server 2008问题:Incorrect syntax near 'OFFSET'

0
悬赏园豆:20 [已解决问题] 解决于 2017-02-16 18:02

当数据库使用 SQL Server 2008 R2 时,Entity Framework Core 会报这样的错误:

System.Data.SqlClient.SqlException: Incorrect syntax near 'OFFSET'.
Invalid usage of the option NEXT in the FETCH statement.
   at System.Data.SqlClient.SqlCommand.<>c.<ExecuteDbDataReaderAsync>b__107_0(Task`1 result)
dudu的主页 dudu | 高人七级 | 园豆:30139
提问于:2017-02-16 17:08
< >
分享
最佳答案
0
收获园豆:20
brusw | 小虾三级 |园豆:746 | 2017-02-16 17:25

用 UseRowNumberForPaging() 解决了问题

services.AddDbContext<MyDbContext>(options => 
    options.UseSqlServer(connectionString, o => o.UseRowNumberForPaging()));

 

dudu | 园豆:30139 (高人七级) | 2017-02-16 18:02
其他回答(3)
0

这个语法好像是2012才开始支持的。

offset 10 rows fetch next 10 rows only

清海扬波 | 园豆:825 (小虾三级) | 2017-02-16 17:10
0

确实是08不支持,12才开始支持的语法。

邑尘 | 园豆:219 (菜鸟二级) | 2018-04-17 14:04
0

从EF Core 3.1开始UseRowNumberForPaging 已删除

源Code | 园豆:206 (菜鸟二级) | 2024-06-27 17:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册