Linq To Sql:数据库版本不兼容

Posted

技术标签:

【中文标题】Linq To Sql:数据库版本不兼容【英文标题】:Ling To Sql: Incompatible Database version 【发布时间】:2014-10-17 07:44:46 【问题描述】:

我在 Visual Studio 中创建了一个扩展名为 .sdf 的本地数据库文件(Sql Server Compact 数据库文件),并且我使用 SqlMetal.exe 将 Linq 连接到我的 Sql 数据库文件。但是它给了我一个错误,说不兼容的数据库版本。

Incompatible Database Version. If this was a compatible file, run repair. For other cases refer to documentation. [ Db version = 4000000,Requested version = 3505053,File name = \\?\C:\Database\Contact\ContactDatabase.sdf ]

假设我安装了 Microsoft SQl Compact 服务器,包括 32 位和 64 位版本,并且我在 Windows 8、64 位上运行。有谁知道如何修理它 ?谢谢

【问题讨论】:

根据错误消息,它需要一个 CE 3.5 数据库,但您的数据库是 4.0。我对 Visual Studio 使用/包含的各种版本了解不多,无法告诉您如何解决这个问题,但一种简单的方法是使用 Server Compact 3.5 来创建数据库。 【参考方案1】:

您必须使用 SqlCeConnection 对象初始化 DataContext 才能使其工作,不要使用连接字符串。

var connString = "Data Source=C:\data\mydb.sdf");
var conn = new SqlCeConnection(connString);

using (var context = new MyDataContext(conn))

【讨论】:

我该怎么做?谢谢 刚刚更新回复

以上是关于Linq To Sql:数据库版本不兼容的主要内容,如果未能解决你的问题,请参考以下文章

Linq-to-sql 不产生多个外连接?

单个 LINQ to Entities 查询中的两个结构上不兼容的初始化过程中出现类型“XXXX”

LINQ to SQL Designer和Geography数据类型

LINQ to SQL CompiledQuery 变慢

Linq-to-SQL 数据库文件为空

Linq-to-SQL 数据检索速度比较