Добрый день.
Есть цель легко получать результат выполнения процедуры (exec @Issue = dbo.ProcName)
С ходу не получилось
Подскажите мысли, если не трудно.
public class CurrencyManager : BusinessManagerBase<CurrencyManager>
{
public CurrencyManager()
{
}
private CurrencyAccessor Accessor
{
get
{
return this.CreateDataAccessInstance<CurrencyAccessor>();
}
}
public GetCurrencyRatesResponse GetCurrencyRates()
{
var a = Accessor;
var x = a.GetCurrencyRates();
if (x != null) {}
if (a.err != 0) {}
}
}
[........]
public abstract class MyAccessor : SimpleAccessor
{
public int err = -1;
// за такой изврат нужно убивать...
protected override void Dispose(DbManager dbManager)
{
err = (int)dbManager.Parameter("@RETURN_VALUE").Value;
base.Dispose(dbManager);
}
}
public abstract class CurrencyAccessor : MyAccessor
{
[SprocName("dbo.p_GetCurrencyRates")]
public abstract List<ExchangeRateInfo> GetCurrencyRates();
}
Есть обходной вариант, но почему то прописывать каждый раз в процедуре доп параметр, которого нет в процах, да и еще с созданием класса ошибки, меня не прётЪ...
public abstract List<ExchangeRateInfo> GetCurrencyRates([Direction.ReturnValue("Error")] SQLExecReturnValue Error);
[...]
SQLExecReturnValue ret = new SQLExecReturnValue();
var x = Accessor.GetCurrencyRates(ret).ToArray();
if (x != null) {}
Спасибо!