I am using Entity Framework 6.1 and GenericRepository. To execute stored procedure I am using SqlQuery method. Currently I am using SqlParameters but being a GenericRepository I don't want to use some specific class. I tried multiple options but how can I use DbParameter here. I tried to access providerName (System.Data.SqlClient) from dbcontext but that is also not available. Any direction would help. Please let me know incase you want me to provide more informaiton.
public IEnumerable<T> GetAllFromStoredProcedure(string storedProcedureName, List<StoredProcedureParameter> parameters)
{
List<SqlParameter> sqlParameters = new List<SqlParameter>();
foreach (StoredProcedureParameter parameter in parameters)
{
sqlParameters.Add(new SqlParameter(parameter.Name, parameter.Type) { Value = parameter.Value});
}
return _context.Database.SqlQuery<T>(storedProcedureName, sqlParameters.ToArray());
}
calling as -
clientRepository.GetAllFromStoredProcedure("GetClients", parameters).ToList();