
Buscar un registro mediante procedimiento almacenado
Publicado por Eduardo (5 intervenciones) el 22/08/2023 23:00:32
Buenas tardes, tengo el siguiente código:
using (var connection = new SqlConnection(_connectionString))
{
return connection.Get<T>(id);
}
El cual me sirve para recuperar un registro de una tabla de mi base de datos
Necesito hacer lo mismo pero con un Procedimiento almacenado porque voy a jalar información de varias tablas.
El siguiente código me sirve para recuperar el listado de información de acuerdo a lo establecido en un procedimiento almacenado.
public IEnumerable<T> GetDataSP(string proc)
{
using (var connection = new SqlConnection(_connectionstring))
{
var datos = connection.Query<T>(proc, commandType: CommandType.StoredProcedure).ToList();
return datos;
}
}
Intenté adaptar ese código para recuperar un sólo registro e hice los siguientes cambios:
public T GetEdit(string proc, int id)
{
using (var connection = new SqlConnection(_connectionstring))
{
var parametro = new DynamicParameters();
parametro.Add("@id", id);
var datos = (T)connection.Query<T>(proc, parametro, commandType: CommandType.StoredProcedure);
return datos;
}
}
Sin embargo, igual me dice que el resultado que devuelve es un list y no lo puede asignar a mi modelo.
Cuál sería la sintaxis o el código correcto?
Gracias por la atención
using (var connection = new SqlConnection(_connectionString))
{
return connection.Get<T>(id);
}
El cual me sirve para recuperar un registro de una tabla de mi base de datos
Necesito hacer lo mismo pero con un Procedimiento almacenado porque voy a jalar información de varias tablas.
El siguiente código me sirve para recuperar el listado de información de acuerdo a lo establecido en un procedimiento almacenado.
public IEnumerable<T> GetDataSP(string proc)
{
using (var connection = new SqlConnection(_connectionstring))
{
var datos = connection.Query<T>(proc, commandType: CommandType.StoredProcedure).ToList();
return datos;
}
}
Intenté adaptar ese código para recuperar un sólo registro e hice los siguientes cambios:
public T GetEdit(string proc, int id)
{
using (var connection = new SqlConnection(_connectionstring))
{
var parametro = new DynamicParameters();
parametro.Add("@id", id);
var datos = (T)connection.Query<T>(proc, parametro, commandType: CommandType.StoredProcedure);
return datos;
}
}
Sin embargo, igual me dice que el resultado que devuelve es un list y no lo puede asignar a mi modelo.
Cuál sería la sintaxis o el código correcto?
Gracias por la atención
Valora esta pregunta


0