2015-12-16 202 views
0

我想知道實體框架應該在連接還是斷開的體系結構中使用?實體框架是連接體系結構還是非連接體系結構?

特別是,我想知道如何在分層架構中使用EF。例如,如何在ASP.NET代碼中使用它?

注意:有關於將此問題作爲「主要基於觀點」的要求,顯然不是這種情況:EF可以以非常特定的方式在兩種場景中使用。這不是一種意見,而是一個明確的事實。沒有人可以討論它,也不同意或不同意。如果問題是關於如何實施斷開連接的情況,那麼它將變成「基於意見」,但不像現在所說的那樣。

+0

我可以知道爲什麼我是upvoted嗎?請給我理由 – Dilip

+0

其實你是downvoted。如果你想知道原因,請閱讀:http://stackoverflow.com/help/mcve –

+0

是的,但我不知道爲什麼我downvoted。 – Dilip

回答

1

您可以在兩種情況下使用EF。

在連接的情況下,您可以保持DbContext一個實例,同時您更改實體(添加,刪除,更新,修改),使其跟蹤cahnges並調用SaveChanges當它們自動發送到數據庫中。

在斷開連接的情況下,例如Web應用程序,您負責跟蹤更改。當您將數據返回到服務器時,您需要實例化一個新的DbContext,將實體附加到它,設置每個實體的狀態(新建,刪除,修改),然後致電SaveChanges。欲瞭解更多信息,你可以閱讀this

因此,EF支持這兩種情況,但以不同的方式。