私はいくつかの関連トピックを見てきましたが、私の質問は完全には答えられていません:
Web アプリケーションのコード ビハインドでストアド プロシージャを実行する場合、次のようなセットアップがあります。問題は、複数の製品を挿入する可能性に直面していることです。何度も実行するExecuteNonQuery
のではなく、すべてを 1 つにまとめて実行したいと考えています。foreach loop
n
これを行う方法がわかりません。現在のセットアップで可能かどうかもわかりません。
コードは自明である必要がありますが、明確化が必要な場合はお知らせください。ありがとう。
SqlDatabase database = new SqlDatabase(transMangr.ConnectionString);
DbCommand commandWrapper = StoredProcedureProvider.GetCommandWrapper(database, "proc_name", useStoredProc);
database.AddInParameter(commandWrapper, "@ProductID", DbType.Int32, entity._productID);
database.AddInParameter(commandWrapper, "@ProductDesc", DbType.String, entity._desc);
...more parameters...
Utility.ExecuteNonQuery(transMangr, commandWrapper);
プロシージャ
ALTER PROCEDURE [dbo].[Products_Insert]
-- Add the parameters for the stored procedure here
@ProductID int,
@Link varchar(max)
@ProductDesc varchar(max)
@Date DateTime
AS BEGIN
SET NOCOUNT ON;
INSERT INTO [dbo].[Prodcuts]
(
[CategoryID],
[Link],
[Desc],
[Date]
)
VALUES
(
@ProductID,
@Link,
@ProductDesc,
@Date
)
終わり