Entity Framework 學習初級篇2--ObjectContext、ObjectQuery、ObjectStateEntry、ObjectStateManager類的介紹
本節,簡單的介紹EF中的ObjectContext、ObjectQuery、ObjectStateEntry、ObjectStateManager這個幾個比較重要的類,它們都位於System.Data.Entity.dll下的System.Data.Objects命名空間下。在後續的章節中,我們經常會用到它們的某些方法,以便完成我們的某些操作或目的。本節,簡單的說明一下以後我們可能會用到的各個類的方法,以方便我們後續的學習。
ObjectContext封裝 .NET Framework 和數據庫之間的連接。此類用作“創建”、“讀取”、“更新”和“刪除”操作的網關。
ObjectContext類為主類,用於與作為對象(這些對象為EDM 中定義的實體類型的實例)的數據進行交互。
ObjectContext類的實例封裝以下內容:
l 到數據庫的連接,以EntityConnection 對象的形式封裝。
l 描述該模型的元數據,以MetadataWorkspace 對象的形式封裝。
l 用於管理緩存中持久保存的對象的ObjectStateManager 對象。
ObjectContext類的成員方法以說明如下所示:
l AcceptAllChanges()
接受所有對該實體對象的更改
l AddObject(string,object)
將實體對象添加到制定的實體容器中
l ApplyPropertyChanges(string,object)
將以指派的實體對象屬性的更改應用到容器中對應的原對象。
l Attach(System.Data.Objects.DataClasses.IEntityWithKey entity)
將帶主鍵的實體對象附加到默認的容器中
l Attach(string,object)
將實體對象附加到指定的實體容器中
l CreateEntityKey(string,object)
給指定的實體對象創建實體主鍵或如果已存在實體主鍵,則直接返回該實體的主鍵
l CreateQuery<T>(string,params ObjectParameter[])
從給定的查詢字符串創建ObjectQuery對象。
l DeleteObject(object)