我想知道是否有人能指引我走向正確的方向。我最近開始使用LinqToSQL並喜歡強類型的數據對象等。LinqToSQL設計查詢/擔心
我只是在努力理解對數據庫性能的影響等。例如,假設我正在開發一個簡單的用戶配置文件頁面。該頁面顯示有關用戶的基本信息,關於其最近活動的一些信息以及未讀通知的列表。
如果我正在爲這個頁面開發一個存儲過程,我可以創建一個SP,它返回覆蓋所有必需信息的多個數據表 - 導致一個數據庫調用。
但是,使用LinqToSQL,這可能會導致許多調用 - 一個用於用戶信息,至少一個用於活動,至少一個用於通知,如果我然後需要關於通知的更多信息,可能會導致進一步調用 - 多個數據庫調用。
我是否應該擔心由於使用此設計模式而導致的db調用數量?也就是說,多個數據庫握手等會降低我的db等嗎?
我很感激你的想法!
感謝 大衛
我不知道Linq to SQL - 我更瞭解Linq to Entities。理想情況下,任何ORM風格的系統都應該緩存呼叫,以便在需要時只呼叫數據庫,儘可能減少出行次數。儘管編寫你的服務器端實現可以利用這個批處理,但是你可以自己決定,而不是強迫ORM分解你的調用(例如,對整個請求只使用一個倉庫/上下文) 「IEnumerable」延遲的全部優點,而不是調用一堆創建和銷燬上下文的函數,並且始終調用「ToList」)。 –
他們還應該利用連接池,所以即使您「關閉連接」,您也只是將它返回到池中。同樣,Linq to Entities也是這樣做的,我不知道Linq to SQL是否可以。 –
[存儲過程的實體框架VS LINQ to SQL VS ADO.NET的可能的重複?](http://stackoverflow.com/questions/2698151/entity-framework-vs-linq-to-sql-vs-ado-net -with-stored-procedures) –