https://blog.csdn.net/weixin_34321977/article/details/85850064html
在使用 EF 的時候,忽然發現更新後在服務器中運行出錯,異常信息主要包含如下信息:數據庫
'OFFSET' 附近有語法錯誤。\r\n在 FETCH 語句中選項 NEXT 的用法無效。\r\n關鍵字 'AS' 附近有語法錯誤。
想到可能時由於本地開發環境的數據庫版本高於服務器版本,致使 EF 生成了錯誤的 SQL 語句,可是不知道具體應該從哪裏修改。服務器
經 google 後找到解決方案:編輯器
找到 EF 對應生成的 edmx 文件,使用文本編輯器打開編輯,找到「ProviderManifestToken」這一屬性,更新後的 EF 將此屬性設爲了 2012,而服務器中仍是 2008 版本的數據庫,因此將此修改成 2008 便可。保存後從新生成發佈項目,問題解決。ide
可選的配置值:google
internal class SqlProviderManifest : DbXmlEnabledProviderManifest { internal const string TokenSql8 = "2000"; internal const string TokenSql9 = "2005"; internal const string TokenSql10 = "2008"; internal const string TokenSql11 = "2012"; internal const string TokenAzure11 = "2012.Azure";
//...
From:https://www.cnblogs.com/xuejianxiyang/p/10838599.html.net