解決方案中有四個項目:DAL,BOL,UI和Model。如何使用EF 4.x管理分層asp.net Web應用程序中的dbcontext
模型包含POCO類,DAL僅包含一個DbContext類,其中引入了模型。所有項目都有對Model項目的引用,UI有對BOL的引用,BOL對DAL有引用。
例如保存數據的當前方法是: 在按下Submit按鈕後,表單數據存儲在模型POCO類中,POCO類轉到BOL保存方法,當BOL被實例化時,dbcontext也會實例化,並且save方法使用該dbcontext來提交更改。
問題:是否像這樣高效地實例化了dbcontext?我應該做其他事情來獲得更多的表現嗎?我試圖獲得最可能的性能,因爲同時可以將很多記錄插入到數據庫中。
如果你想插入一堆記錄作爲一個工作單元,那麼使用一個上下文實例是有意義的。但是,如果您指的是大量併發(在同一時間_),每個調用都會有自己的上下文。你的意思是哪一個? – 2012-03-13 23:22:47
那麼最好把它做成一般。我將爲程序員在底層構建方法和類,以便他們可以從上層調用它們來插入/更新/刪除/加載數據。他們不需要擔心連接,dbcontexts,並且應該只關注業務。 根據你的意見,在BOL構造函數中實例化dbcontext是正確的,但如果程序員需要同時插入一堆記錄,則應該使用BOL的一個實例。 您可以回覆此建議作爲回覆郵件,我會將其標記爲答案。 – Saber 2012-03-14 06:24:18
好的,但我認爲最多的是你自己的思考和闡述,所以如果你回答自己的問題(堆棧溢出很好)並將其標記爲接受(可能在2天后),我會感覺更好。 – 2012-03-14 07:30:58