バージョン 2.1 の SubSonic の Oracle Provider に関する多くの問題を修正でき、ほとんどすべての修正が 2.2 に反映されました。SP が 1 つまたは 2 つしかなかったため、Oracle Provider の SP 生成部分の修正には取り組みませんでした。SP の生成が機能していない場合でも、SP を Oracle Provider で使用できます。SubSonic が生成するクラスに機能を追加するために使用する、変更されたフォルダーに部分クラスとして SP を手動で追加しただけです (以下を参照)。
例
public partial class SPs
{
public static decimal CreateSp(string username, string labelNote)
{
Decimal returnId = 0;
SubSonic.StoredProcedure sp = new StoredProcedure("User.MySP");
sp.Command.Parameters.Add("username", username, DbType.String);
sp.Command.Parameters.Add("labelnote", labelNote, DbType.String);
sp.Command.Parameters.Add("returnId", returnId, DbType.Decimal, ParameterDirection.Output);
sp.Execute();
return Convert.ToDecimal(sp.Command.Parameters.Find(delegate(QueryParameter qp) { return qp.ParameterName == "returnId"; }).ParameterValue);
}
}