SQL Server CE 4.0 带 SQLmetal

发布于 2024-10-13 21:37:43 字数 257 浏览 3 评论 0原文

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

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

提前致谢。

I've created a small test project in WebMatrix which uses SQL Server CE 4.0. Not being a fan of using embedded SQL, I wanted to create some LINQ2SQL domain classes for the SQL Server CE 4.0 database generated by WebMatrix. Unfortunately SQLmetal complains that the database file is corrupt or incompatible.

Is there a version of SQLmetal.exe that is compatible with SQL Server CE 4.0 and can it be downloaded independently of Visual Studio?

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

北笙凉宸 2024-10-20 21:37:43

Sql metal 不能与 sqlce 4.0 一起使用(我尝试过),您必须使用 linq2entity 或手动编写数据对象和 POCOS 代码。
或者等到 Visual Studio 的下一个版本。
我希望微软仍然支持 sqlce4.0 的 linq2sql,因为它很容易使用。

Sql metal doesnt work with sqlce 4.0 (i tried), you must use linq2entity or code your data object and POCOS by hand.
Or wait till the next version of visual studio maybe.
I hope microsoft will still support linq2sql for sqlce4.0 as it is easy to work with.

樱&纷飞 2024-10-20 21:37:43
<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:其中 SQlMetal)
  2. 编辑 SqlMetal.exe.config,添加或更新 'system.exe' 。 “configuration”下的“data”部分,用 4.0 覆盖 SQL Server CE DataProvider 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>

Still works, you need this simple hack:

  1. Find SqlMetal.exe executable path (from VS cmd: where SQlMetal)
  2. Edit SqlMetal.exe.config, add or updating 'system.data' section under 'configuration', overriding SQL Server CE DataProvider 3.5 with the 4.0:
岁月如刀 2024-10-20 21:37:43

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

Still an issue with Windows 8 and Visual Studio 2012 by the looks of it as SSCE 3.5 is not installed by default on Windows 8.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文