У меня есть хранимые процедуры с параметрами ввода и вывода. У меня есть отдельные классы для классов ввода и вывода. Итак, я хочу создать динамические параметры, используя объекты шаблона вместо добавления каждого свойства.
Например:
public class StudentInput {
public StudentInput() {
this.StudentId = 1;
}
public int StudentId {get; set}
}
public class StudentOutput {
public string StudentName {get; set;}
public string FavSubject {get; set;}
public int Grade {get; set;}
public int YearOfJoining {get; set;}
}
У меня есть хранимая процедура [SP_GetStudentData]
, которая принимает StudentId в качестве входных данных и возвращает StudentName, FavSubject, Grade и YearOfJoining.
Используя Dapper, я написал следующий код.
DynamicParameters ip = new DynamicParameters(new StudentInput());
DynamicParameters op = new DynamicParameters(new StudentOutput());
ip.AddDynamicParameters(op);
// Here is the question. How do I tell Dapper that op is a output parameters object? How do I add ParameterDirection output to each of the properties in this object?
SqlMapper.ExecuteSP(connection, SP_GetStudentData, ip, CommandType.StoredProcedure)