我正在Visual Studio 2012和.NET 4.0中编写一个简单的控制台应用程序 在解决方案中,我有2个项目:
我的数据库是SQL Server Compact Edition 4.0文件(DataStore.sdf) 项目B作为项目A的参考 我使用SQL Server Compact Toolbox在项目B中生成DataContext 当我运行应用程序时,我收到以下错误(您可能在其他帖子中看到过):
不兼容的数据库版本。 如果这是兼容文件,请运行修复。 对于其他情况,请参阅文档。 [Db版本= 4000000, 请求的版本= 3505053, 文件名= \?\ C:\ workspace \ projects \ mytestapp \ bin \ Debug \ DataStore.sdf]
我经历了以下两个帖子:
Post_1
Post_2
我的PC上安装了两个版本的SqlServerCe:3.5和4.0。 x86和x64都有
我试图将Post_1中建议的文件复制到项目A和B的/ bin目录中,并从两个项目中的相应文件夹中引用System.Data.SqlServerCe.dll。我也尝试过相同的但是/ bin / debug中的文件,没有运气。
我错过了什么吗?
谢谢你的帮助...
答案 0 :(得分:2)
必须使用SqlCeConnection对象(而不是连接字符串)构造DataContext,以便LINQ to SQL与SQL Server Compact 4.0一起使用。
答案 1 :(得分:0)
听起来好像在您的控制台应用程序的app.config中,您引用的是CE3.5,而您的Datastore.sdf实际上是4.0。尝试从控制台应用程序中删除任何SQL-CE 引用,并添加对SQL-CE4.0的新引用。
请先检查这是否确实存在问题。如果您的DataStore实际上是3.5,那么您应该删除引用并向控制台应用程序添加3.5引用。
如果我没弄错的话,你可以使用nuget添加最简单的参考。