按照我以前的項目設計師。如何將實體對象與實體框架分開?
- 業務服務層
- 業務邏輯在這裏。
- 可以訪問 「實體」 和 「數據訪問層」
- 數據訪問層
- SQL操作在這裏製造。
- 可以訪問 「實體DTO」
- 實體層
- 所有數據庫表DTO在這裏。
- 表示層
- 可以訪問企業和實體
- 無法訪問數據訪問層
- 查看
現在添加實體框架,我想跟進相同的建築。
- 業務服務層
- 業務邏輯在這裏。
- 可以訪問 「實體」 和 「數據訪問層」
- 數據訪問層
- SQL操作在這裏製造。
- 實體框架下面(的.edmx)
- 實體層
- 我想使用實體框架類(EntityObject)在這裏。所以不需要重寫所有的DTO,但要確保CRUD不應該由此完成。不應該包括的ObjectContext /的DbContext
- 表示層
- 可以訪問企業和實體
- 無法訪問數據訪問層(實體框架)
- 查看
當您調用'dbContext.SaveChanges()'時,會發生CRUD。只要這隻在數據訪問層完成,你應該是好的。 –
@GeorgPatscheider我的意思是上下文不應該存在.. –
但是上下文允許你執行sql操作。在我們的架構中,我們將業務層和數據訪問層(業務邏輯直接與DbContext和實體結合)結合起來。 –