.net SQL Server CE 4.0 w/SQLmetal

.net SQL Server CE 4.0 w/SQLmetal,.net,sql-server-ce,compatibility,sqlmetal,.net,Sql Server Ce,Compatibility,Sqlmetal,我在WebMatrix中创建了一个小测试项目,它使用SQLServerCE4.0。我不喜欢使用嵌入式SQL,我想为WebMatrix生成的SQL Server CE 4.0数据库创建一些LINQ2SQL域类。不幸的是,SQLmetal抱怨数据库文件已损坏或不兼容 是否有与SQL Server CE 4.0兼容的SQLmetal.exe版本,并且可以独立于Visual Studio下载 提前感谢。Sql metal不适用于sqlce 4.0(我尝试过),您必须使用linq2entity或手动编写数

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

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


提前感谢。

Sql metal不适用于sqlce 4.0(我尝试过),您必须使用linq2entity或手动编写数据对象和POCO的代码。 或者等到下一个版本的VisualStudio。
我希望microsoft仍然支持用于sqlce4.0的linq2sql,因为它易于使用。

从外观上看,它仍然是Windows 8和Visual Studio 2012的一个问题,因为默认情况下在Windows 8上未安装SSCE 3.5。


<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>
仍然有效,您需要以下简单技巧:

  • 查找
    SqlMetal.exe
    可执行路径(从VS cmd:where-SqlMetal)
  • 编辑
    SqlMetal.exe.config
    ,在“配置”下添加或更新“system.data”部分,用4.0覆盖SQL Server CE DataProvider 3.5:

  • 真是太遗憾了。感谢您提供的信息。我的SQL Server Compact Toolbox VS add-in(我是作者)将创建一个LINQ to SQL DataContext,即使是对于4.0版的数据库文件也是如此。非常棒,工作起来很有魅力,尽管我不得不添加整个system.data部分,因为它根本不存在。