我有 5 個域,我需要將每個域與不同的資料庫分開,那么如何使用 Entity Framework 進行分離。
uj5u.com熱心網友回復:
領域驅動設計對您的持久性機制沒有意見,例如您如何設計或構建一個或多個資料庫。所以從 DDD 的角度來看,答案是“隨心所欲”!
但是,如果你想你的域分成不同的資料庫中(即使你沒有),你的選擇是:
- 將所有域中的所有內容都保存在一個 DbContext 中,并將介面傳遞到您的類中,這些類只允許訪問特定域類,例如從 DbContext 訪問訂單的 IOrdersRepository,以及僅訪問來自同一 DbContext 的發票的 IInvoicesRepository。
- 為每個域向您的應用程式添加多個 DbContext,例如 SalesDbContext、BillingDbContext、MarketingDbContext,并在 Startup.cs 檔案中為每個 DbContext 提供自己的連接字串。
- 將您的應用程式拆分為較小的專案(如微服務),例如具有自己的 DbContext 的 Sales.Api 和具有自己的 DbContext 的 Billing.Api。
可能還有其他我沒有想到的選項,因為 DDD 沒有規定任何關于您如何存盤資料的內容。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/364421.html
標籤:实体框架 asp.net核心 领域驱动设计 数据库上下文
