首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EF4和SQL Server2000

EF4和SQL Server2000
EN

Stack Overflow用户
提问于 2011-04-18 21:14:44
回答 3查看 806关注 0票数 2

我已经使用EF4和SQL Server2005开发了我的网站,但当转移到临时站点时,发现他们使用的是SQL Server2000。

现在我收到这个错误,我认为它与SQL Server 2000有关:

代码语言:javascript
复制
Incorrect syntax near '('. 'row_number' is not a recognized function name.

有没有办法解决这个问题?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-18 21:18:23

票数 4
EN

Stack Overflow用户

发布于 2011-09-01 03:51:37

我遇到了完全相同的问题,根据StackOverflow上的评论/回复,我几乎放弃了,并将其弹到客户,以将他们的数据库升级到> 2000版本。不幸的是,由于许多其他问题,这对他们来说是不可能的。我不得不在谷歌上到处寻找解决方案,然后我找到了一个变通的办法。

这就是我所做的。

  • 右键单击ModelName.EDMX文件并使用

打开

  • 选定的XML (文本)编辑器
  • 找到ProviderManifestToken="2005“并将其替换为ProviderManifestToken="2000"
  • Published -> changes!

我之所以说这是一种变通方法(而不是解决方案),是因为

  1. 如果您再次从数据库更新您的模型,并且您的开发机器数据库是SQL2000(根据this article,这很可能是因为MS根本不支持SQL2000连接),则XML值将更改automatically
  2. Also,此更改后EF生成的查询在我的情况下有效,但我不能保证您的应用程序生成的所有查询都能正常工作
票数 1
EN

Stack Overflow用户

发布于 2011-04-18 21:21:34

Row_Number()返回返回的每一行的序列号。你是在调用Row_number(),还是实体框架?

无论采用哪种方法,您都可以编写重新实现ROW_NUMBER的用户定义函数。Stackoverflow的帖子在这里:ROW_NUMBER Alternative for SQL Server 2000

从长远来看,我不确定这样做会有什么好处;您可能会发现,您绕过了这个问题,结果却遇到了另一个原因,即EF不能在SQL2000上工作。但是,花几分钟去尝试可能是值得的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5703449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档