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

时间:2014-07-22 14:09:35

标签: .net database sqlite compact-database

有没有人知道使用.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库。因此,任何CPU选项都会导致应用程序崩溃。

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

我的问题是:

  1. Compact Server CE 4.0对现有技术和未来是否可行?
  2. SQLite是一个更好的选择,是否有任何真正的托管代码可以在任何CPU中运行?
  3. 是否有更好的开源选项可以在没有大量工作的情况下使用和转换。

1 个答案:

答案 0 :(得分:1)

这个问题涉及很多意见所以请记住,我会写我的意见(作为社区Wiki)。

,这只是一个答案,而不是评论,因为它太长了。

  

Compact Server CE 4.0对现有技术和未来是否可行?

我说它是,它不会很快被抛弃。当然,我们无法说出10年(甚至5年)会发生什么,但它是一种稳定的,众所周知的技术。关键是它对你有好处;它满足您的所有要求吗?将其与其他技术(也来自Microsoft)进行比较,搜索比较(也在此处)。

  

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

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

  

是否有更好的开源选项可以在没有大量工作的情况下使用和转换。

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