ADO.NET Entity Framework で更新系ステートメント(UPDATE/DELETE/INSERT)を直接実行(ExecuteStoreCommand)
ADO.NET Entity Framework では、ExecuteStoreCommand メソッドを利用して、更新系ステートメント(UPDATE/DELETE/INSERT)を直接実行することもできます。これは次のように記述します。
Imports System.Data.SqlClient : ' UPDATE ステートメントの実行 Using ctx As New NorthwindEntities() Dim cnt As Integer cnt = ctx.ExecuteStoreCommand( _ "UPDATE Products SET ProductName = 'ChaiX' " _ & "WHERE ProductID = 1") Console.WriteLine(cnt & " 件処理されました") End Using ' INSERT ステートメントの実行 Using ctx As New NorthwindEntities() Dim cnt As Integer cnt = ctx.ExecuteStoreCommand( _ "INSERT INTO Products(ProductName, DisContinued) " _ & "VALUES('AAA', 1)") Console.WriteLine(cnt & " 件処理されました") End Using ' DELETE ステートメントの実行 Using ctx As New NorthwindEntities() Dim para1 As New SqlParameter("@para1", SqlDbType.Int) para1.Value = 78 Dim cnt As Integer cnt = ctx.ExecuteStoreCommand( _ "DELETE FROM Products " _ & "WHERE ProductID >= @para1" _ , para1) Console.WriteLine(cnt & " 件処理されました") End Using
ステートメント内のパラメーターは、ADO.NET の SqlParameter(System.Data.SqlClient)で定義することができます。