如何在Entity Framework Core中運行存儲過程?


我在asp.net核心應用程序中使用EF7(實體框架核心)。能否請您指出執行存儲過程的正確方法?使用ObjectParameters((IObjectContextAdapter)this).ObjectContext.ExecuteFunction的舊方法不起作用。

一般承認的答案

現在解決了對EF7中存儲過程的支持,這也支持多個結果集的映射。

點擊此處查看修復詳情

你可以像這樣調用它 - var userType = dbContext.Set().FromSql("dbo.SomeSproc @Id = {0}, @Name = {1}", 45, "Ada");


熱門答案

存儲過程支持尚未在EF7中實現(從7.0.0-beta3開始)。您可以使用問題#245跟踪此功能的進度。

現在,您可以使用ADO.NET以傳統方式執行此操作。

var connection = (SqlConnection)context.Database.AsSqlServer().Connection.DbConnection;

var command = connection.CreateCommand();
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "MySproc";
command.Parameters.AddWithValue("@MyParameter", 42);

command.ExecuteNonQuery();




許可下: CC-BY-SA
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因