Entity Framework 學習初級篇2--ObjectContext類的介紹
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
從給定的查詢字串建立ObjectQuery物件。
l DeleteObject(object)
刪除指定的實體物件
l Detach(object)
移除指定的實體物件
l ExecuteFunction
對預設容器執行給定的函式。
l GetObjectByKey(System.Data.EntityKey key)
通過主鍵KEY從 ObjectStateManager 中檢索物件(如果存在);否則從儲存區中檢索。
l Refresh(System.Data.Objects.RefreshMode refreshMode, object entity)
按指定持久更新模式,使用指定實體的儲存區資料更新ObjectStateManager。。
l Refresh(System.Data.Objects.RefreshMode refreshMode, System.Collections.IEnumerable collection)
按指定持久處理模式,使用指定實體集的儲存區資料更新ObjectStateManager。
l SaveChanges(bool)
將所有更新持久儲存到儲存區中。引數是客戶端事務支援所需的引數。引數為true則在更新後自動將更改應用到ObjectStateManager中的實體。如果為false,則在更新後還需要呼叫AcceptAllChanges()以便更新ObjectStateManager中的實體。
l SaveChanges()
將所有更新持久儲存到儲存區中
l TryGetObjectByKey(System.Data.EntityKey,out object)
嘗試從指定實體主鍵返回該實體
以上各個方法的具體用法,將在後面介紹。
接著,再看看有用的類ObjectQuery。
ObjectQuery有個有用的方法ToTraceString(),這個方法用於追蹤所執行的SQL語句,通過此方法我們可以獲取所執行的SQL語句,以便我們檢視、分析具體執行的SQL語句。(類似Nhibernate配置檔案中的showsql節)
再瞭解一下ObjectStateEntry。
ObjectStateEntry維護實體例項或關係例項的狀態(已新增、已刪除、已分離、已修改或未更改)、鍵值和原始值。還管理已修改屬性的列表。其包含一下方法:
l AcceptChanges
接受當前值作為原始值,並將實體標記為 Unchanged()。
l Delete
將實體標記為 Deleted()。如果實體處於 Added()()() 狀態,它將為 Detached()。
l GetModifiedProperties
返回標記為 Modified()的屬性名稱。
l SetModified
將狀態設定為 Modified()。
l SetModifiedProperty
將指定的屬性標記為 Modified()。
接著,再看看ObjectStateManager。
ObjectStateManager用於維護物件對映、物件狀態/標識管理以及實體例項或關係例項的永續性。
獲取給定EntityState的ObjectStateEntry集合。
獲取給定的 EntityKey 對應的 ObjectStateEntry
現在,幾個重要的類簡單介紹完畢。後面,我們將具體學習它們的使用。
原文地址:http://www.cnblogs.com/xray2005/archive/2009/05/07/1452274.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-594963/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Entity Framework學習初級篇4--Entity SQLFrameworkSQL
- Entity Framework 學習初級篇3-- LINQ TO EntitiesFramework
- Entity Framework 學習初級篇5--ObjectQuery查詢及方法FrameworkObject
- Spring Framework 官方文件學習(一)介紹SpringFramework
- Entity Framework Code First學習系列目錄Framework
- IOS 初級開發入門教程(一)介紹篇iOS
- Entity Framework Tutorial Basics(8):Types of Entity in Entity FrameworkFramework
- 初試 Entity Framework Core 的多對多對映Framework
- Java工程師學習指南(初級篇)Java工程師
- Java工程師學習指南 初級篇Java工程師
- Entity Framework:Code-First Tutorial開篇Framework
- Entity Framework Tutorial Basics(20):Persistence in Entity FrameworkFramework
- Entity Framework Tutorial Basics(2):What is Entity Framework?Framework
- Entity Framework Tutorial Basics(29):Stored Procedure in Entity FrameworkFramework
- Entity Framework Tutorial Basics(3):Entity Framework ArchitectureFramework
- Entity Framework Tutorial Basics(4):Setup Entity Framework EnvironmentFramework
- Entity Framework Code-First(23):Entity Framework Power ToolsFramework
- Entity Framework(1)Framework
- entity framework in mysqlFrameworkMySql
- Entity Framework 教程Framework
- Godot新手學習開篇綜合無敵大介紹Go
- .NET Core學習筆記(8)——Entity Framework Core之Database First筆記FrameworkDatabase
- .NET Core學習筆記(9)——Entity Framework Core之Code First筆記Framework
- Linux常用初級指令介紹和使用Linux
- 學習Grafana初級使用Grafana
- R語言的初級學習R語言
- 表示學習介紹
- Entity Framework Tutorial Basics(33):Spatial Data type support in Entity Framework 5.0Framework
- Android Framework中的Application Framework層介紹AndroidFrameworkAPP
- .NET Core CSharp初級篇 類的生命歷程CSharp
- 工具篇:介紹幾個好用的guava工具類Guava
- Entity Framework Tutorial Basics(40):Validate EntityFramework
- Entity Framework Tutorial Basics(42):Colored EntityFramework
- Entity Framework Tutorial Basics(10):Entity LifecycleFramework
- Entity Framework Tutorial Basics(27):Update Entity GraphFramework
- Entity Framework Tutorial Basics(9):Entity RelationshipsFramework
- Entity Framework(實體框架)之Entity SQLFramework框架SQL
- 『中級篇』Docker-cloud介紹(54)DockerCloud