【发布时间】:2010-11-06 21:06:34
【问题描述】:
我在使用 SQL Server 2000、2005 和 2008 的 Web 应用程序中使用实体框架。当我使用 2008 以外的任何东西(创建的第一个 edmx 的版本)创建新的 EDMX 文件时,我收到 error 0172: All SSDL artifacts must target the same provider. The Provider 'MyDatabase' is different from ' MyDatabase ' that was encountered earlier. 它似乎代码中的某处连接到 2008 数据存储,当它检查 SSDL 文件并看到不同的 ProviderManifestToken 值时,它会引发此错误。我有点沮丧。很难想象 EF 将仅适用于每个应用程序的单个版本的 Sql Server。我相当确定必须有一个设置或解决方法。有没有人可以在单个 Web 应用程序中使用不同版本的 SQL Server 和实体框架?
【问题讨论】:
-
要提的一个重要事项是,我正在从 sql 2000 迁移到 sql 2008 并且已经更改了连接字符串并奇怪地执行了“从数据库更新模型”,如果我修改使用 ProviderManifestToken = "2005" 的所有 SSDL 应用都可以正常工作。
-
我也在寻找这个问题的答案。到目前为止,我发现的唯一相关的谷歌结果没有深入。
标签: sql-server-2005 entity-framework sql-server-2000 entity