C # Dapper Model no actualiza solo un elemento

asp.net-mvc c# dapper

Pregunta

Parece que tengo un problema con mi modelo no actualizando, pero parece que hay solo un aspecto.

Tengo la siguiente configuración

public class Stages
{
    public int ItemNumber {get; set;}   <-- seems to be updating correctly
    public string ItemName {get; set;}  <-- seems to be updating correctly
    public int ItemStage {get; set;}    <-- always results in 0
}

public interface IStageRepository
{
    List<Stages> GetAll();
}

public class StageRepository : IStageRepository
{
    private IDbConnection db = new SqlConnection(ConfigurationManager.ConnectionStrings["StagesConnection"].ConnectionString);

    public List<Stages> GetAll()
    {
        return this.db.Query<Stages>("SELECT * FROM Stages_vw").ToList();
    }
}

Bajo mi HomeController tengo lo siguiente

IStageRepository stagesRepo = new StageRepository();

public ActionResult Index()
{
    return (stagesRepo.GetAll());
}

Aquí está el esquema de la vista

TABLE_CATALOG   TABLE_SCHEMA    TABLE_NAME  COLUMN_NAME COLUMN_DEFAULT
WebServices     dbo             Stages_vw   ItemNumber  NULL
WebServices     dbo             Stages_vw   ItemName    NULL
WebServices     dbo             Stages_vw   Stage       NULL

Si hago un "SELECT * FROM Stages_vw" en SSMS, los resultados son correctos

He tropezado con estas publicaciones, pero me siento un poco confundido, cualquier ayuda sería muy apreciada

RESPUESTA por @chipples

Esto se debió a un nombre de columna en la vista que no coincidía

dapper-simple-mapping

dapper-intermediate-mapping

Dapper Documentation

Respuesta aceptada

Según los comentarios, el problema es que los nombres en su modelo y en su base de datos no coinciden (ItemStage en el modelo, Stage en el DB). Dapper requiere que los nombres coincidan para poder mapear automáticamente. Debe cambiar el nombre de la propiedad en su modelo a Stage o usar un alias en su SQL ("SELECT Stage AS ItemStage ...").



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué