首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

Entity Framework 實作存儲程序對應完整教學:CRUD 操作映射實戰

     編輯:關於.NET

本文示範在 ADO.NET Entity Framework 中將資料表的 CRUD(建立、讀取、更新、刪除)操作對應至自訂存儲程序,包含模型建立、函數匯入、實體映射與呼叫方式。

範例資料庫結構

建立 Group、User 兩張表(含外鍵關聯),以及四支存儲程序:

  • CreateUser(@username, @groupid):新增使用者
  • DeleteUser(@userid, @groupid):刪除使用者
  • UpdateUser(@userid, @username, @groupid):更新使用者
  • GetUserInfo(@userid):查詢單一使用者

注意:DeleteUser 的 @groupid 參數實際未使用,但為配合映射機制避免錯誤 2048 仍需保留。

建立實體資料模型 (EDM)

  1. 專案加入「ADO.NET Entity Data Model」,選擇「從資料庫產生」
  2. 選取資料表與存儲程序,完成模型產生

選取資料庫物件

查詢存儲程序映射:函數匯入

  1. 在 Model Browser 中右鍵「函數匯入」→「新增函數匯入」
  2. 選擇 GetUserInfo 存儲程序,設定回傳型別為實體型別 UserInfo

函數匯入設定

完成後可透過 context.GetUserInfo(userId).FirstOrDefault() 呼叫。

CUD 存儲程序映射:實體對應函數

  1. 選取 UserInfo 實體,開啟「對應詳細資料」視窗
  2. 切換至「將實體對應到函數」索引標籤
  3. 分別指定 Insert/Update/Delete 函數為對應存儲程序
  4. 設定屬性對應(外鍵欄位 UserGroupID 需手動對應至導航屬性 Group)

CUD 映射設定

重要規則:若為實體指定 Insert 存儲程序,則 Update、Delete 也必須指定,不可混用預設 SQL 與存儲程序。

呼叫方式

  • CUD 操作:同一般 EF 用法,AddObject()、修改屬性後 SaveChanges()、DeleteObject(),EF 會自動呼叫對應存儲程序
  • 查詢操作:需顯式呼叫函數匯入方法:var user = context.GetUserInfo(id).FirstOrDefault();
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved