【问题标题】:SQL Server backward compatibility in Entity Framework?实体框架中的 SQL Server 向后兼容性?
【发布时间】:2009-11-10 08:56:28
【问题描述】:

SQL Server 2008 和 2005 之间的实体框架是否有向后兼容性?

似乎框架迫使您对解决方案中的所有 .edmx 文件使用相同的提供程序。

如果您使用 2008 提供程序,则框架向底层 SQL 查询发出的 DateTime2 等数据类型和 SysDateTime 等函数使得在 SQL 2005 Server 上使用它们毫无用处。

有什么办法吗?

【问题讨论】:

    标签: entity-framework entity


    【解决方案1】:

    您是否将 EDMX 中的 ProviderManifestToken 设置为 2005?如果你打算支持 2005,你应该。如果您使用 2008 服务器设计 EDMX,则 GUI 设计器将为 2008 优化模型,包括数据类型和查询语法。如果您针对 2005 服务器设计 EDMX,则只会使用与 2005 兼容的类型,并且 ProviderManifestToken 将设置为 2005。

    【讨论】:

    • 我同意。但是在我的情况下,我们需要同时支持 sql server 2005 和 2008。如果我已经编写了自己的数据层,我本来能够毫无问题地支持这两个数据库,那么为它们中的每一个维护单独的构建似乎太多了。使用实体框架。应该有一个可配置的属性,应该允许反序词的兼容性。
    • 您不必进行两次构建。 已经有这样的属性。我什至在我的回复中给了你一个链接。将其设置为 2005,您的应用将同时适用于 2005 和 2008。
    • 是的,你可能是对的。我想我得到了我的错误,因为我试图使用 sql server 2008 更新模型,并将 ProviderManifestToken 设置为 2005。只是查询不应该给我带来任何悲伤。谢谢
    【解决方案2】:

    如果您仍在寻找解决方案,请查看此论坛。

    Multiple Versions of SQL Server using Entity Framework in a single ASP.NET application

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-20
      相关资源
      最近更新 更多