CQRS读端ORM或纯ADO.NET

本文关键字:ADO NET 或纯 ORM 读端 CQRS | 更新日期: 2023-09-27 17:54:42

我正在使用CQRS模式实现我的第一个项目,现在我必须决定如何实现读端。我考虑的第一种方法是使用ORM(实体框架/NHibernate或者有人可以为我推荐一些更快的ORM ?)并将模型映射到sql视图。最初我在考虑使用索引视图,但我读了一篇关于一些性能问题的文章(在编写期间),这促使我放弃了这个想法(http://sqlblog.com/blogs/alexander_kuznetsov/archive/2009/06/02/be-ready-to-drop-your-indexed-view.aspx)。我考虑的第二种方法是使用纯ADO。. NET(数据读取等)和写sql自己。你认为哪种方法是最好的?或许还有更好的办法?

CQRS读端ORM或纯ADO.NET

我建议使用dapperdotnet或ormlite。

我已经广泛地使用了这两个工具,并且发现自己每次移动到遗留代码以帮助查询时都会返回到它们。

它们都非常快,并且从原始ADO中提供了足够的抽象。. NET使你的代码可读

我不是一个ORM的超级粉丝,我曾经一直使用它们,但发现CQRS使我从使用相同的模型来读写中解脱出来,所以ORM有点变成了一个巨大的沉重的麻烦。

这实际上取决于您的系统需求。正如@boz所建议的那样,使用轻量级对象(如Dapper)可能非常适合您的系统。此外,如果你的写端相当简单,或者你处理命令来平摊数据,你可以使用像MongoDB或Raven(或其他主机)这样的文档存储库,然后让你的读端拉出对象。

同样,这取决于您的需求,但更简单的选择,如轻量级对象映射器或NoSQL选项绝对可以为您的读取端工作。好运!

使用NHibernate+Fluent是我使用过的最好的组合。