我有一个我想使用嵌入式数据库存储的对象模型。到目前为止,我一直在查看db4o,NHibernate到SQLCE(w / linq)和RavenDB。这将用于桌面C#应用程序。
我希望利用的主要功能是:Linq或类似的查询(无SQL或HQL),嵌入式数据引擎,pocos,poco第一模型,无安装(无注册表或类似)
任何人都可以建议吗?这三个我正在寻找最好的选择吗?还有其他选择吗?在这三个中,任何人都可以推荐一个吗?
由于
答案 0 :(得分:10)
这三个建议的数据库的性质非常不同。 SQLCE使用Hibernate作为RDBMS,使用ORM,db4o作为对象数据库,RavenDB作为文档数据库。他们每个人都有自己的优势。
SQL CE& NHibernate的-COMBO 强> 好处:
坏事:
<强> RavenDB 强>
好处:
坏事:
<强> db4o的强>
好处:
坏事:
Afaik全部支持LINQ和POCO优先三种方法。然而,自从NHibernate&amp; SQL CE仍然需要大量的映射,而不是尽可能无摩擦。
我认为如果你首先关注POCO,LINQ支持,ebedded用法和易用,我会尝试RaveDB或db4o。 如果您关注“安全”,社区知识,工具支持和报告,我会选择NHibernate和SQL CE。
答案 1 :(得分:3)
Firebird是一个非常棒的嵌入式数据库,它长期以来一直支持企业数据库的所有现代功能:
您可以获得.NET provider(根据网站最后更新于5月24日),它支持实体框架和Linq。
答案 2 :(得分:0)
见this question。对于LINQ支持,请查看DbLinq,或者因为您已经打算使用NHibernate,所以您可以使用NHibernate自己的LINQ提供程序。