CQRSの読み取り層にMicroORMを使用する

cqrs dapper massive

質問

Folks、Imドメインを操作するためにEntity Frameworkが使用されているCQRSアプリケーション(Asp.Net MVC)の読み取りアクセスコンポーネントにDapper.netなどのmicroORを使用することを検討しています。

これはCQRSのライトです。私はイベントソーシングなどを使用していません。CQRSの読み取り専用モデルはADO.netのようなものを使用してデータを照会することが可能です。私たちのコードやXMLファイルで文字列を照会する私たちは片方のドメインマッピングと別の側のSQLステートメントを維持する必要があるこのアプローチを正当化するにはどうすればよいですか?

このようにCQRSソリューションにMicroORMを使用した人はいますか?ありがとうミック

受け入れられた回答

はい、絶対にDapper、PetaPoco、Massive、Simple.Data、またはあなたが望む他のマイクロORMを使用することができます。過去に我々は問題を解決するためにNHibernateを使用しましたが、10,000ポンドでした。ゴリラは私たちが必要としていたものと比較して。

Simple.DataとPetapocoについて私たちが本当に気に入っていたのは、これらのライブラリを評価する際に、それぞれが異なるデータベースエンジン(Mongoを含む)にクエリを適合させることができることでした.Dapperは基本的にSQL文字列の大きな束でしたが、それは「文字列型」でした。私は間違ってはいけません.Dapperは素晴らしいですし、非常に速く、絶対に素晴らしい仕事をします。コミットする前に、機能要件と非機能要件を評価してください。

各マイクロORMのNuGetを使用したダウンロードの相対的な数は次のとおりです(2012年1月1日現在)。私たちのために、ダウンロードがたくさんある良いコミュニティを持つことは、発生したときに問題を解決するために常に必要です。

  • 5568 Simple.Data
  • 4990ペタポコ
  • 4913ダッパー
  • 2203マッシブ
  • 1152 OrmLite

最後に、調査対象としたいことの1つは、読んだモデルに対してSQLの背後にあるあなたの推論です。あなたのドメインが(イベントソースに関係なく)イベントを公開していて、シンプルでフラット/非リレーショナルのビューモデルに書いているのであれば、ブラウザにプッシュされるJSONファイルのような単純なものを取り除くことができます。ブラウザはHTMLテンプレートを解釈して使用します。利用可能なあらゆる種類のオプションがあります。あなたのシナリオで最も効果的なものを判断するだけです。



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow