C# 有没有办法使sqlce3.5和4.0在C项目中共存

C# 有没有办法使sqlce3.5和4.0在C项目中共存,c#,sql-server-ce,C#,Sql Server Ce,目前,我有一个要求将我的数据库从sqlce4.0降级到sqlce3.5,以便将我们的应用程序升级到消费者,我找到了一个帖子,它基本上满足了我的要求,只是这两个解决方案都需要用户的干预。理想情况下,我想编写一个小工具来实现这个目标,使这个转换自动化。对用户没有任何干扰。所以我的想法是: 1.因为我知道这个数据库的模式,所以我首先创建一个sqlce3.5空数据库。 2.然后同时打开旧的sqlce4.0数据库和新的sqlce3.5数据库,然后从sqlce4.0数据库中逐表查询记录并插入新的sqlce3

目前,我有一个要求将我的数据库从sqlce4.0降级到sqlce3.5,以便将我们的应用程序升级到消费者,我找到了一个帖子,它基本上满足了我的要求,只是这两个解决方案都需要用户的干预。理想情况下,我想编写一个小工具来实现这个目标,使这个转换自动化。对用户没有任何干扰。所以我的想法是: 1.因为我知道这个数据库的模式,所以我首先创建一个sqlce3.5空数据库。 2.然后同时打开旧的sqlce4.0数据库和新的sqlce3.5数据库,然后从sqlce4.0数据库中逐表查询记录并插入新的sqlce3.5数据库。这听起来不错,但当我在C项目中尝试时,它似乎只能添加一个sqlce assebmly引用V3.5或V4.0。我知道避免污染是有道理的。但我该如何解决这个问题呢? 3.或者如果我必须将数据导出到sql文件,然后将其导入sqlce3.5 DB?如果是某个控制台实用程序,它支持将sql数据导入sqlce3.5 DB。我请求console实用程序的原因只是因为我想自动导入它,而不需要像我前面提到的那样对用户进行引用

 Thanks in advace for your answer.

您可以使用我的脚本API exportsqlce.codplex.com从代码中导出整个数据库,或者使用我的exportsqlce40.exe命令行工具,然后使用sqlcecmd.exe创建3.5数据库并运行脚本。这也可以通过我的脚本API完成

但在应用程序中,如果直接引用4.0 System.data.sqlserverce.dll,则必须更新应用程序以引用旧版本