Entity Frameworkコアでストアドプロシージャを実行する方法

asp.net-core asp.net-core-mvc 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-beta 3現在)。この問題の進行状況はissue #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();


Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ