寻找有关嵌入式 .NET 数据库(例如 db4o、NHibernate 或 RavenDB)的指南
我有一个想要使用嵌入式数据库存储的对象模型。到目前为止,我一直在研究 db4o、NHibernate 到 SQLCE(带 linq)和 RavenDB。这将在桌面 C# 应用程序中使用。
我希望利用的关键功能是:Linq 或类似的查询功能(无 SQL 或 HQL)、嵌入式数据引擎、pocos、poco 第一个模型、无需安装(无注册表或类似功能)
有人能推荐一个吗?我正在考虑的三个是最佳选择吗?还有其他选择吗?在这三者中,有人可以推荐其中之一吗?
谢谢
I have an object model that I want to store using an embedded database. I have so far been looking at db4o, NHibernate to SQLCE (w/ linq), and RavenDB. This would be used in a desktop C# application.
The key features I am looking to leverage are: Linq or similar for queries (no SQL or HQL), Embedded data engine, pocos, poco first model, no install (no registry or similar)
Can any one suggest one? Are the three I am looking at the best choices? Are there other options? Of the three, can anyone recommend one over the other?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
嗯,这三个建议的数据库本质上非常不同。 SQLCE 与 Hibernate 作为带有 ORM 的 RDBMS,db4o 作为对象数据库,RavenDB 作为文档数据库。他们每个人都有自己的优势。
SQL CE 和 SQL CE NHibernate-Combo
优点:
缺点:
RavenDB
优点:
坏处:
< db4o 的
优点:
-
缺点:
Afaik 这三个都支持 LINQ 和 POCO-first 方法。然而自从NHibernate & SQL CE 仍然需要大量的映射,但它并没有尽可能地无摩擦。
我认为如果您首先关注的是 POCO、LINQ 支持、嵌入用法和易于使用,我会尝试 RaveDB 或 db4o。
如果您的重点是“安全”、社区知识、工具支持和报告,我会选择 NHibernate 和 SQL CE。
Well the three suggested databases are very different in their nature. SQLCE with Hibernate as RDBMS with a ORM, db4o as object database and RavenDB as document database. Each of them has its strengths.
SQL CE & NHibernate-Combo
The good:
The bad:
RavenDB
The good:
The bad:
db4o
The good:
-
The bad:
Afaik all three support LINQ and POCO-first approach. However since NHibernate & SQL CE still need tons of mapping its not as friction free as it could be.
I think if your focus is on POCO first, LINQ-support, ebedded usage and easy to use, I would try RaveDB or db4o.
If your focus is on 'safety', community-knowledge, tool-support and reporting I would go with NHibernate and SQL CE.
Firebird 是一个出色的嵌入式数据库,长期以来一直支持企业数据库的所有现代功能:
您可以获取 .NET 提供程序(根据该网站,最后更新时间为 5 月 24 日)它支持实体框架和Linq。
Firebird is a terrific embedded database which has long supported all the modern features of an enterprise database:
You can get the .NET provider (last updated May 24th according to the site) and it supports Entity Framework and Linq.
请参阅此问题。对于 LINQ 支持,请查看 DbLinq,或者由于您已经打算使用 NHibernate,因此可以使用 NHibernate自己的 LINQ 提供商。
See this question. For LINQ support, check out DbLinq, or since you already intend to use NHibernate you can use NHibernate's own LINQ provider.