ADO.NET 的新功能
下列功能是 ADO.NET 與 .NET Framework 4 版的新功能。
ADO.NET Entity Framework
Entity Framework 可讓您針對根據實體與關聯性所定義的資料模型進行程式設計,藉以減少資料驅動型應用程式所需的程式碼數量和維護作業。如需詳細資訊,請參閱 Entity Framework Overview。
下面所述的功能是 .NET Framework 4 中 Entity Framework 的新功能。
概念模型的外部索引鍵
您可以建立概念模型,在這種模型中,資料庫中的外部索引鍵資料行會對應至實體類型上的純量屬性。如需詳細資訊,請參閱Defining and Managing Relationships。
多層式架構應用程式開發的自我追蹤實體
使用多層式架構 (N-Tier) 應用程式時,您現在可以使用自我追蹤實體。自我追蹤實體可以記錄純量、複雜和導覽屬性的變更。自我追蹤物件中的追蹤資訊可以套用至服務端上的物件內容。如需詳細資訊,請參閱Working with Self-Tracking Entities。
多層式架構應用程式開發的新方法
System.Data.Objects 命名空間中類別的新方法可以使開發多層式架構 (N-Tier) 應用程式更容易。如需詳細資訊,請參閱N-Tier Applications With Entity Framework。
QueryExtender 控制項的 EntityDataSource 支援
EntityDataSource 控制項現在支援 QueryExtender 控制項,後者可用來建立擷取自資料來源之資料的篩選。如需詳細資訊,請參閱將 LINQ 查詢套用至 EntityDataSource。
運用 IObjectSet<T> 的測試能力
ObjectContext 類別現在會傳回具型別 ObjectSet<TEntity> 物件,您可以使用這些物件在實體物件上執行建立、讀取、更新和刪除作業。ObjectSet<TEntity> 類別會實作 IObjectSet<TEntity> 介面。在測試案例中,IObjectSet<TEntity> 介面非常有用。如需詳細資訊,請參閱Working with ObjectSet。
直接執行存放區命令
您現在可以直接從 ObjectContext 執行存放區命令。如需詳細資訊,請參閱Directly Executing Store Commands。
非持續性物件
您可以使用自訂的資料類別加上自己的資料模型,而不須修改資料類別本身。這表示您可以使用 "plain-old" CLR 物件 (POCO),例如現有的網域物件,加上您的 Entity Framework 應用程式。如需詳細資訊,請參閱Persistence Ignorant Objects (Entity Framework)。
相關物件的消極式載入
透過消極式載入 (也稱為「延後載入」(Deferred Loading)),會在您存取導覽屬性時,從資料來源自動載入相關的物件。如需詳細資訊,請參閱Shaping Query Results (Entity Framework)。
LINQ to Entities 查詢中的函式
EntityFunctions 與 SqlFunctions 類別可讓您從 LINQ to Entities 查詢存取標準函式與資料庫函式。EdmFunctionAttribute 允許 CLR 方法做為定義在概念模型或儲存體模型中之函式的 Proxy。如需詳細資訊,請參閱Calling Functions in LINQ to Entities Queries。
LINQ to Entities 中的 OrderBy 改良功能
LINQ to Entities 查詢包含 OrderBy 運算子,現在會傳回運算子中定義之引數所排序的結果,無論運算子在查詢中的位置為何。不過,如果 Entity SQL 和 ObjectQuery<T> 查詢中的 OrderBy 運算子不是查詢中最後一個運算子,則會被忽略。
自訂的物件層程式碼產生
您可以將 ADO.NET 實體資料模型設計工具設定成使用文字範本來產生自訂的物件層程式碼。如需詳細資訊,請參閱 How to: Customize Object-Layer Code Generation。
模型優先支援
Generate Database Wizard可讓您先建立概念模型,然後建立支援該模型的資料庫。如需詳細資訊,請參閱 How to: Generate a Database from a Conceptual Model。
複雜類型支援
ADO.NET Entity Data Model Designer現在支援複雜類型。如需詳細資訊,請參閱下列主題:
命名服務
Entity Data Model Wizard和Update Model Wizard可讓您選擇使用 Entity、EntitySet 和 NavigationProperty 名稱的單數或複數格式,使應用程式程式碼更具可讀性。如需詳細資訊,請參閱Choose Your Database Objects Dialog Box (Entity Data Model Wizard) 和Choose Your Database Objects Dialog Box (Update Model Wizard)。
改良的模型瀏覽器功能
ADO.NET Entity Data Model Designer的 [模型瀏覽器] 視窗可讓您從儲存體模型刪除物件,以及在概念模型和儲存體模型中搜尋特定字串。如需詳細資訊,請參閱Model Browser Window和 How to: Delete Objects from the Storage Model。
實體設計工具擴充性
您可以使用 Microsoft.Data.Entity.Design.Extensibility 命名空間中的類別寫入 Visual Studio 延伸模組,用這種方式擴充 ADO.NET 實體資料模型工具的功能。Microsoft.Data.Entity.Design.Extensibility 命名空間中的類型可以讓您執行下列動作:
如需詳細資訊,請參閱Extending the Entity Data Model Tools。
實體資料模型文件
實體資料模型的文件已經更新。如需詳細資訊,請參閱Entity Data Model。