2015-12-14 2 views
2

Я использовал Dapper для вызова хранимых процедур, передающих ему объект. Например:Автоматическое отображение выходных параметров с помощью Dapper

Если у меня есть объект:

public int ID { get; set; }  
public int Year { get; set; } 

Я могу создать этот объект и передать его на мой Execute вызова в качестве параметров. Dapper автоматически отображает все эти свойства в параметры и выполняет хранимую процедуру. Потрясающие.

Что относительно выходных параметров? Если мой объект выглядит следующим образом, как я могу заставить Dapper заполнить это свойство значением выходного параметра?

public int ID { get; set; }  
public int Year { get; set; } 
public int OutputParameter { get; set; } 

Должны ли добавляться выходные параметры DynamicParameters?

+0

Я не нашел способ, так что это звучит как работа для метода расширения возможно? –

ответ

0

Что-то вроде этого:

 DynamicParameters _params = new DynamicParameters(); 
     _params.Add("@newId", DbType.Int32, direction: ParameterDirection.Output); 
     var result = connection.Execute("[dbo].YourProc", _params, null, null, CommandType.StoredProcedure); 
     var retVal = _params.Get<int>("newId"); 
+1

Вот как я это делаю сейчас. Однако то, о чем я прошу, это возможность заполнения исходного объекта без указания параметров вывода. Мне не нужно вручную добавлять параметры для выполнения SP. Есть ли способ сообщить Dapper, что это выходной параметр, захватить значение после его выполнения. – Alex

Смежные вопросы