バージョン2.1のSubSonicでOracle Providerの多くの問題を修正することができました。ほとんどすべての修正で2.2になりました。私は1つまたは2つのSPしか持っていないため、Oracle ProviderのSP生成部分を修正することはできませんでした。 SPの生成が機能していない場合でも、Oracle ProviderでSPを使用できます。 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);
}
}
ええ、私は単一の(非パッケージ)PROCとはるかに簡単なテストを試してみましたが、私は同じこと(でサブステージと何も経由していない呼び出しを取得していますSPs.csファイル)。上記のためのおかげで1トン - 私のSPのトランザクションの処理の多くの複雑ないくつかのアイテムに制限されるので、私自身のいくつかのラッパーを生成するおそらく巨大な取引ではないと思う)だと思います。 –