Pass output parameters in a template object in Dapper
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 18.4k
- Forks
- 3.7k
- Avg merge
- 5h 8m
- Merged PRs (30d)
- 1
Description
I have stored procedures with input and output parameters. I have separate classes for input and output classes. So, I want to create Dynamic Parameters using template objects instead of adding each property.
For Eg:
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;}
}
I have a stored procedure [SP_GetStudentData] that takes StudentId as input and returns StudentName, FavSubject, Grade and YearOfJoining.
Using Dapper, I wrote the following code.
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)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names DynamicParameters, AddDynamicParameters, and SqlMapper.ExecuteSP as the entry points; start by tracing how template properties become parameters and how stored procedures are executed. Compare the StudentInput and StudentOutput examples and verify completion against the SP_GetStudentData scenario, including output-parameter direction for each output property.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, sql
- Domain
- backend, databases
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100