Мне удалось исправить многие проблемы с провайдером Oracle в SubSonic в версии 2.1, и большинство всех моих исправлений перешло в 2.2. Я не работал над исправлением части генерации SP провайдера Oracle, поскольку у меня был только один или два SP. Даже если генерация SP не работает, вы все равно можете использовать SP с провайдером Oracle. Я просто добавил SP вручную (см. Ниже) как частичный класс в измененной папке, которую я использую для добавления функциональности к классам, которые генерирует SubSonic.
пример
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);
}
}