簡體   English   中英

使用 Entity Framework Core 數據庫優先方法如何將我的實體與基礎設施層分開?

[英]With Entity Framework Core database first approach how do I separate my entity from infrastructure layer?

我正在使用 ASP.NET Core 和 Entity Framework Core 構建 REST API,使用數據庫優先的方法和干凈的架構。

我的數據庫已經由 DBA 團隊創建和維護 - 這就是為什么我需要以數據庫優先的方式使用 Entity Framework Core,並且我們需要在基礎設施層使用Scaffold-DbContext命令進行逆向工程。

使用干凈的架構,實體應該放置在與基礎設施層分開的Core層,因此我們將如何做到這一點以及如何將您的DbContext解析為接口。

我看到兩個選項:

  1. 您接受對 EF 的依賴,將生成的實體放入您的核心項目中,從而接受對清理架構的違反。

  2. 您在 Core 項目中創建自己的實體,而不依賴於 EF,並使用存儲庫模式在您的實體和來自 EF 的實體之間“映射”。

備選方案 1 既簡單又便宜。 備選方案 2 使您獨立於 EF,並為您的 dba 團隊提供了一些抽象。 根據對您的項目更重要的內容進行選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM