是的,您绝对可以使用 Dapper、PetaPoco、Massive、Simple.Data 或任何其他您想要的微型 ORM。过去我们使用 NHibernate 来解决这个问题,但它是 10,000 磅。大猩猩与我们需要的相比。
在我们对这些库的评估中,我们真正喜欢 Simple.Data 和 Petapoco 的一件事是,它们每个都可以使您的查询适应不同的数据库引擎(包括 Mongo),而所需的调整最少,而 Dapper 基本上是一大堆 SQL 字符串 - - 它是“字符串类型的”。不要误会我的意思,Dapper 很棒,而且速度非常非常快,而且绝对可以很好地工作。只需在提交之前评估您的功能性和非功能性需求。
以下是每个主要微 ORM 使用 NuGet 下载的相对数量(截至 2012 年 1 月 1 日左右)。对我们来说,为了在出现问题时帮助解决问题,始终必须拥有一个拥有大量下载的良好社区:
- 5568 简单数据
- 第4990章
- 4913 小巧玲珑
- 2203 海量
- 第1152章
最后,您可能想要调查的一件事是您对读取模型完全支持 SQL 的推理。如果您的域正在发布事件(无论事件来源如何),并且您正在编写简单的平面/非关系视图模型,那么您可能能够摆脱像 JSON 文件这样简单的东西,这些文件被推送到浏览器然后浏览器解释并使用来填充您的 HTML 模板。有各种可用的选项,您只需要确定最适合您的方案的选项。