私は将来のメンテナーを助けるために、私がSubSonicを使用して書き換えているいくつかのレガシーコードを持っています。ほとんどの場合、すべてがストアドプロシージャコールを行うので、比較的単純です。しかし、今私は密接に結合したADO.NETコードでいくつかの問題を抱えています。SubSonicを使用してこのコードを書くにはどうすればいいですか?
コードは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を使い慣れているので、助けてください。すべての有益な回答がきれいにupvotedされます。
コマンドプロンプトからコマンドオブジェクトを取得する方法があるかどうか知っていますか? SubSonicドコはそれほど欠けています。 ( –
)私ができることは、SubSonicのコマンドオブジェクトSPs.StoredProcName()のバージョンを取得することです。コマンド - 役に立つかどうかわかりません。 –
私はそれを見てきましたが、すべて私は例外を取得しようとしています。私はこれが戦う価値があるのか、それともそのままこのコードを残すべきかを判断しようとしています:/ –