将来のメンテナーを支援するために、SubSonic を使用して書き直したレガシー コードがいくつかあります。すべてがストアド プロシージャの呼び出しを行うため、大部分は比較的単純です。しかし、密結合の ADO.NET コードで問題が発生しています。
コードは SqlDataAdapter に依存して、INSERT または UPDATE ストアド プロシージャをいつ呼び出すかを決定します。このコードを SubSonic の方法で書き直すにはどうすればよいですか?
public void SaveInvoice(InvoiceItems invoiceItems)
{
// extraneous code removed
// invoiceItems is a dataset
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "InvoiceItem_INSERT";
cmd.Connection = conn;
updateCmd.CommandType = CommandType.StoredProcedure;
updateCmd.CommandText = "InvoiceItem_UPDATE";
updateCmd.Connection = conn;
SqlCommandBuilder.DeriveParameters(cmd);
SqlCommandBuilder.DeriveParameters(updateCmd);
adapter.InsertCommand = cmd;
adapter.UpdateCommand = updateCmd;
adapter.Update(invoiceItems._InvoiceItemTable);
}
私は SubSonic を初めて使用するので、助けていただければ幸いです。役立つ回答はすべて、喜んで賛成票を投じます。