使用.Net 4.0/4.5的嵌入式数据库的最佳选择
有人知道使用.Net 4.0/4.5的嵌入式数据库的最佳选择吗 应用程序的目标是Windows 我已经在我的项目中使用SQLite很多年了。然而,自从.NET2.0以来,技术已经发生了很大的变化。我正在将项目从.Net 2.0升级到4.0或4.5。SQLite的问题是找到一个好的本机.Net托管库,它不需要非托管DLL。此外,根据我使用的SQLite库,我不得不在X-86或64中编译应用程序。因此,“任意CPU”选项将导致应用程序崩溃 我正在转换到Compact Server 4.0。虽然我正在使它完美地工作,但我开始怀疑这是否是另一项被抛弃的微软技术 我的问题是:使用.Net 4.0/4.5的嵌入式数据库的最佳选择,.net,database,sqlite,compact-database,.net,Database,Sqlite,Compact Database,有人知道使用.Net 4.0/4.5的嵌入式数据库的最佳选择吗 应用程序的目标是Windows 我已经在我的项目中使用SQLite很多年了。然而,自从.NET2.0以来,技术已经发生了很大的变化。我正在将项目从.Net 2.0升级到4.0或4.5。SQLite的问题是找到一个好的本机.Net托管库,它不需要非托管DLL。此外,根据我使用的SQLite库,我不得不在X-86或64中编译应用程序。因此,“任意CPU”选项将导致应用程序崩溃 我正在转换到Compact Server 4.0。虽然我正在
这个问题涉及很多观点,所以请记住,我将在这里写下我的观点(作为社区维基)。这是一个答案而不是评论,因为它太长了 Compact Server CE 4.0对于当前技术和未来是否可行 我得说是的,它不会很快被抛弃。当然,我们不能说10年后(甚至5年后)会发生什么,但这是一项稳定的、众所周知的技术。关键是它是否对你有好处;它满足你所有的要求吗?将其与搜索比较的其他技术(也来自Microsoft)进行比较(这里也是如此) SQLite是更好的选择吗?是否有任何真正的托管代码可以在任何CPU中工作 您仍然可以为任何CPU编译您的应用程序,并保留一个非托管库,直到您只部署其中一个库为止(例如,检查SharpDX中使用的技术)。关于32/64位应用程序,我也建议阅读 有没有更好的开源选项可以在不需要大量工作的情况下使用和转换
这不是一个问题,但是的,有太多不同的解决方案。我们不能建议哪一个更好,因为这取决于你的要求。有多少数据?您需要支持SQL查询吗?它对性能至关重要吗?您必须支持交易吗?并发访问?每种解决方案都有其优缺点(有了大型企业级数据库,您几乎可以做任何事情,但您需要支付部署复杂性和成本)。MichaelHartmann:Following@AdrianoRepetti的答案,您可能对使用诸如NHibernate之类的ORM感兴趣,这样在测试和比较阶段就可以很容易地从RDBMS切换到另一个RDBMS。然后,使用存储库模式是将数据访问关注点从业务模型中分离出来的关键。然后,您可以更改简单的XML配置信息以切换RDBMS。就我的两分钱!=)