Entity Framework 6 中 Code-First 方式調用存儲過程
Entity Framework 6 提供了一種機制,允許在 Code-First 應用中調用存儲過程。當您需要將現有的存儲過程與 EF 模型一起使用,或者想要為特定操作創建自己的存儲過程時,這非常有用。
調用存儲過程
在 Entity Framework 6 中調用存儲過程,您可以使用 DbContext 類上的 SqlQuery
方法。 SqlQuery
方法接受兩個參數:要調用的存儲過程的名稱和傳遞給存儲過程的參數數組。
例如,以下代碼調用 insert_department
存儲過程並將 Name
參數傳遞給它:
<code class="language-csharp">this.Database.SqlQuery<int>("insert_department", new SqlParameter("@Name", departmentName));</code>
返回多個結果集
某些存儲過程返回多個結果集。如果您需要訪問每個結果集的結果,可以使用 ExecuteSqlQuery
方法。 ExecuteSqlQuery
方法返回一個 ObjectResult
,其中包含每個結果集的結果列表。
例如,以下代碼調用 get_departments
存儲過程並將結果檢索到 Department
對象列表中:
<code class="language-csharp">var departments = this.Database.ExecuteSqlQuery<Department>("get_departments");</code>
其他說明
ExecuteScalar
方法檢索該值。 ExecuteStoredProcedure
方法調用存儲過程並檢索輸出參數。 DbModelBuilder
上的 MapToStoredProcedures
方法將實體類映射到存儲過程。這允許您使用 Update
、Delete
和 Insert
方法來調用相應的存儲過程。 有關在 Entity Framework 6 中調用存儲過程的更多信息,請參閱 MSDN 文檔。
以上是如何在實體框架6(代碼優先)中調用存儲過程?的詳細內容。更多資訊請關注PHP中文網其他相關文章!