3

我在使用 SQL Server CE 4.0 的 WebMatrix 中创建了一个小型测试项目。不喜欢使用嵌入式 SQL,我想为 WebMatrix 生成的 SQL Server CE 4.0 数据库创建一些 LINQ2SQL 域类。不幸的是,SQLmetal 抱怨数据库文件损坏或不兼容。

是否有SQLmetal.exe与 SQL Server CE 4.0 兼容的版本并且可以独立于 Visual Studio 下载?

提前致谢。

4

3 回答 3

6

Sql metal 不适用于 sqlce 4.0(我试过),您必须使用 linq2entity 或手动编码您的数据对象和 POCOS。或者等到下一个版本的视觉工作室。我希望微软仍然支持 sqlce4.0 的 linq2sql,因为它易于使用。

于 2011-01-23T14:30:25.973 回答
1
<system.data>
    <DbProviderFactories>
        <remove invariant="System.Data.SqlServerCe.3.5" />
        <add name="Microsoft SQL Server Compact Data Provider 4.0" 
             invariant="System.Data.SqlServerCe.3.5" 
             description=".NET Framework Data Provider for Microsoft SQL Server Compact" 
             type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    </DbProviderFactories>
</system.data>

仍然有效,您需要这个简单的技巧:

  1. 查找SqlMetal.exe可执行路径(来自 VS cmd: where SQlMetal)
  2. 在“配置”下编辑SqlMetal.exe.config、添加或更新“system.data”部分,用 4.0 覆盖 SQL Server CE DataProvider 3.5:
于 2016-06-13T16:06:43.473 回答
0

从外观上看,Windows 8 和 Visual Studio 2012 仍然存在问题,因为 Windows 8 上默认未安装 SSCE 3.5。

于 2012-11-18T13:56:27.440 回答