1

有谁知道使用 .Net 4.0/4.5 的嵌入式数据库的最佳选择

该应用程序面向 Windows。

多年来,我一直在为我的项目使用 SQLite。但是,自 .Net 2.0 以来,技术发生了很大变化。我正在将我的项目从 .Net 2.0 升级到 4.0 或 4.5。SQLite 的问题是找到一个不需要非托管 DLL 的好的 NATIVE .Net 托管库。此外,我被迫在 X-86 或 64 中编译应用程序,具体取决于我使用的 SQLite 库。所以 ANY CPU 选项会导致应用程序崩溃。

我正在转换到 Compact Server 4.0。虽然我让它完美地工作,但我开始怀疑这是否是另一个被遗弃的微软技术。

我的问题是:

  1. Compact Server CE 4.0 对于当前技术和未来是否可行?
  2. SQLite 是更好的选择吗?是否有任何真正的托管代码可以在任何 CPU 中运行?
  3. 是否有更好的开源选项可以使用和转换而无需大量工作。
4

1 回答 1

1

这个问题涉及很多意见,所以请记住,我会在这里写下我的意见(作为社区 Wiki)。这是一个答案而不是评论,只是因为它太长了。

Compact Server CE 4.0 对于当前技术和未来是否可行?

我会说它是并且它不会很快被放弃。当然,我们不能说 10 年后(甚至 5 年后)会发生什么,但它是一项稳定的、众所周知的技术。关键是它是否对您有好处;它满足您的所有要求吗?将其与搜索比较的其他技术(也来自 Microsoft)进行比较(也在 SO 上)。

SQLite 是更好的选择吗?是否有任何真正的托管代码可以在任何 CPU 中运行?

您仍然可以为保留非托管库的任何 CPU 编译您的应用程序,直到您仅部署其中一个(检查使用的技术,例如,在 SharpDX 中)。关于 32/64 位应用程序,我还建议阅读这篇博文

是否有更好的开源选项可以使用和转换而无需大量工作。

这不是 SO 的问题,但是有很多不同的解决方案。我们不能建议哪个更好,因为这取决于您的要求。多少数据?您需要支持 SQL 查询吗?它对性能至关重要吗?你必须支持交易吗?并发访问?每个解决方案都有自己的优点和缺点(使用大型企业级数据库,您可能几乎可以做所有事情,但您会为部署复杂性和成本付出代价)。

于 2014-07-22T14:21:13.623 回答