在CQRS中使用MicroORM作為讀取層

cqrs dapper massive

伙計們,我考慮使用諸如Dapper.net之類的microORM作為CQRS應用程序(Asp.Net MVC)的讀取訪問組件,其中實體框架用於操縱域。

這是CQRS的亮點,我沒有使用事件來源等。我已經多次提到過CQRS中的只讀模型應該是輕量/簡單可能查詢數據層,可能使用類似ADO.net的東西這意味著可能硬編碼SQL在我們的代碼或某些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 Petapoco
  • 4913 Dapper
  • 2203大規模
  • 1152 OrmLite

最後,您可能想要調查的一件事是您為讀取模型完全背後SQL的原因。如果您的域名正在發布事件(無論事件來源如何),並且您正在編寫簡單,平面/非關係視圖模型,那麼您可以使用像推送到瀏覽器的JSON文件這樣簡單的東西。然後,瀏覽器會解釋並使用它來填充HTML模板。有各種可用的選項,您只需確定在您的方案中最有效的選項。



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因