熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ADO.NET Entity Framework 入門示例向導

2022-06-13   來源: .NET編程 
  如下是Entity Framework 組件圖
      首先在Class Library 項目中增加ADONET Entity Data Model文件     下面分別演示如何使EntityClient對象服務Object ServicesLINQ to Entities 訪問概念數據模型     使用EntityClient     EntityClient 是新的NET 數據提供程序EntityClient使用基於文本的語言Entity SQL與概念模型通信EntityClient 中的類與常見的 ADONET 提供程序中的類相似例如使用 EntityCommand 對象執行 EntityClient 查詢這需要 EntityConnection 對象連接到 EDM當 EntityClient 與 EDM 中的實體交互時EntityClient 不返回實體的實例而返回 DbDataReader 對象中的所有結果EntityClient 可以返回一組標准行和列也可以通過 DbDataReader 返回更復雜的分層數據的表示形式     示例代碼              string customerID = txtCustomerIDTextTrim();             // Contains a reference to an Entity Data Model (EDM) and a data source connection             using (EntityConnection cn = new EntityConnection(Name=NorthwindEntities))             {                 cnOpen();                 EntityCommand cmd = cnCreateCommand();                 cmdCommandText =                      SELECT VALUE c FROM NorthwindEntitiesCustomers +                      AS c WHERE cCustomerID = @customerID;                 cmdParametersAddWithValue(customerID customerID);                 DbDataReader rdr = cmdExecuteReader(CommandBehaviorSequentialAccess);                 while (rdrRead())                     ConsoleWriteLine(rdr[CompanyName]ToString());                 rdrClose();             }     示例使用 EntityClient 連接到概念模型並檢索特定的客戶EntityConnection 可以接受概念層的完整連接字符串或 AppConfig 文件中連接字符串的名稱連接字符串包含元數據文件(CSDLMSL 和 SSDL 文件)列表以及存儲的專用於數據庫的連接字符串信息     如下是示例程序使用的數據庫連接串   <connectionStrings>     <add name=NorthwindEntities connectionString= metadata= res://NorthwindEDM/NorthwindModelcsdl|res://NorthwindEDM/NorthwindModelssdl| res://NorthwindEDM/NorthwindModelmsl; provider=SystemDataSqlClient;provider connection string=&quot; Data Source=localhost; Initial Catalog=Northwind;Integrated Security=True; MultipleActiveResultSets=True&quot;providerName=SystemDataEntityClient />  </connectionStrings>     使用對象服務Object Services     與由 EDM 表示的數據進行交互的另一種方法是使用對象服務Object Services對象服務允許直接返回對象列表     下面的示例演示了如何使用對象服務和實體 SQL 進行查詢以檢索 Customers 列表             NorthwindEntities northwindContext = new NorthwindEntities();             string customerID = txtCustomerIDTextTrim();               ObjectQuery<Customers> query = northwindContextCreateQuery<Customers>(             SELECT VALUE c FROM Customers AS c WHERE cCustomerID = @customerID              new ObjectParameter(customerID customerID));               foreach (Customers c in query)                 ConsoleWriteLine(cCustomerID + + cCompanyName);    在 EDM 中EntityContainer 由從 ObjectContext(在本示例中為 northwindContext)繼承的類表示ObjectContext 類實施 ObjectQuery<T> 接口從而使其可以使用實體 SQL 或 LINQ 創建查詢CreateQuery 方法接受參數化的實體 SQL 語句該語句定義了將檢索 Customers 實體列表的查詢通過使用 foreach 語句對 ObjectQuery<Customers> 進行迭代時將執行作用於數據庫的實際 SQL 語句       使用 LINQ to Entities     上述實體SQL腳本可以通過如下的LINQ to Entities 腳本實現代碼如下              NorthwindEntities northwindContext = new NorthwindEntities();             string customerID = txtCustomerIDTextTrim();               var query = from c in northwindContextCustomers             where cCustomerID == customerID             select c;               foreach (Customers c in query)                 ConsoleWriteLine(cCustomerID + + cCompanyName);   本示例程序演示界面如下
      使用實體框架Entity Framework開發人員可以通過對象模型(而不是邏輯/關系數據模型)專注於數據一旦完成 EDM 的設計並將其映射到關系存儲後就可以使用 EntityClientObjectServices 和 LINQ 等多種技術與對象交互
From:http://tw.wingwit.com/Article/program/net/201311/15018.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.