我有一些遗留代码,我正在使用 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 的新手,因此不胜感激。所有有用的答案都将得到热烈的支持。