之間的區別:什麼是從<code>MSDN</code>的DbContext和ObjectContext的
表示單位作業內容和信息庫模式的組合,使您能夠查詢數據庫,並組合在一起,然後將寫回修改作爲一個單位的商店。
DbContext
在概念上與ObjectContext
相似。
我雖然DbContext
只處理連接到數據庫和對數據庫的線程數。
現在我明白它包含跟蹤機制?我以爲這是在ObjectContext
。
那麼,他們之間的區別是什麼?
之間的區別:什麼是從<code>MSDN</code>的DbContext和ObjectContext的
表示單位作業內容和信息庫模式的組合,使您能夠查詢數據庫,並組合在一起,然後將寫回修改作爲一個單位的商店。
DbContext
在概念上與ObjectContext
相似。
我雖然DbContext
只處理連接到數據庫和對數據庫的線程數。
現在我明白它包含跟蹤機制?我以爲這是在ObjectContext
。
那麼,他們之間的區別是什麼?
DbContext是ObjectContext類的輕量級版本,幾乎放在ObjectContext的頂部(甚至有一種方法可以從DbContext獲取ObjectContext)。使用IMO也很容易,並且使得CRUD操作成爲可能。
如需瞭解更多信息,最好查看比Julie Lerman更多關於差異的信息,如EF 4.1中所述。
DbContext是一個較小的API,暴露了ObjectContext最常用的 功能。在某些情況下,這些功能將在DbContext API中進行鏡像。在其他情況下,實體框架團隊通過向我們提供像Find或DbSet.Local等屬性的方法來簡化更復雜的編碼 。但是 是一個潛在的大API,您可能仍然需要訪問它。例如,您可能需要 直接與MetadataWorkspace一起編寫針對類 的通用代碼,因爲該API可以比反射更高效地讀取模型。此外,MetadataWorkspace能夠提供有關元數據的更多信息,而不是您可以通過反射發現,例如,關鍵屬性。或者您可能希望 利用通過實體SQL, 公開的數據庫特定功能,而這些功能無法從LINQ訪問實體。 或者你可能已經有一個應用程序 使用ObjectContext的書面和你希望利用的DbContext在未來的更新 無需更換所有的ObjectContext代碼(從編程的DbContext參考)
檢查此[文章](HTTP:/ /www.c-sharpcorner.com/UploadFile/ff2f08/objectcontext-vs-dbcontext/)瞭解更多 – stom 2015-10-16 15:44:22