ASP.NET Core 部署IIS及 OFFSET 附近有语法错误解决

  今天自己开发了一个订机票的微信公众号,功能基本已经完成,然后想部署到服务器实际测试下。结果部署上去出现各种问题。先安装asp.net core模块,然后发现数据库并不像在开发时一样,执行ef的命令行语句就可以了。可以到输出目录找到对应的sql语句,到服务器上执行一下。

  后来部署上去以后,发现很多对应控制器的action打开是404,感觉很奇怪,在web.config里面把日志输出打开。stdoutLogEnabled="false"改为true。发现有错误,提示OFFSET 附近有语法错误。出现这个错误的原因是我的开发环境是sqlserver2017,而部署的服务器用的是sqlserver2008,在2008版本之前的sql是meiyou 这种语法的。

解决方法:在startup.cs中的连接语句中添加UseRowNumberForPaging

services.AddDbContext<ApplicationDbContext>(optionsAction =>
                optionsAction.UseSqlServer(
                    Configuration["ConnectionStrings:DefaultConnection"], b => b.UseRowNumberForPaging()));
posted @ 2019-04-12 17:07 toMo 阅读(...) 评论(...) 编辑 收藏