Multi Mapping en Dapper

dapper

Pregunta

Usando apuesto. cuando evalúo esto:

var trains =
                conn.Query<Train, TrainDriver, Train>(
                    "Select T.TrainId,T.OperatorId,T.TrainDescriptor,T.DriverId,TD.TrainDriverId,TD.Name,TD.Salary from trains as T" +
                    "Inner Join TrainDrivers as TD on (T.DriverId = TD.TrainDriverId)" +
                    "Where T.TrainId = @id", (t, td) =>
                    {
                        t.Driver = td;
                        return t;
                    }, new {id = id}, null, true, "TrainDriverId");

Parece que obtengo una SQLException: {"El identificador de varias partes \" T.DriverId \ "no se pudo enlazar. \ R \ nEl identificador de varias partes \" T.TrainId \ "no se pudo enlazar. \ R \ nEl identificador de varias partes \ "T.TrainId \" no se pudo enlazar. \ r \ nEl identificador de varias partes \ "T.OperatorId \" no se pudo unir. \ r \ nEl identificador de varias partes \ "T.TrainDescriptor \ "no se pudo enlazar. \ r \ nEl identificador de varias partes \" T.DriverId \ "no se pudo enlazar."}

Todos estos campos existen, y si elimino el SQL y ejecuto la consulta por separado en SQL Manager, funciona ...

¿Alguna idea?

Respuesta aceptada

Solo le faltan algunos espacios en la consulta SQL. Tratar:

    var trains =
                    conn.Query<Train, Driver, Train>(
                        "Select T.TrainId,T.OperatorId,T.TrainDescriptor,T.DriverId,TD.TrainDriverId,TD.Name,TD.Salary from trains as T" +
                        " Inner Join TrainDrivers as TD on (T.DriverId = TD.TrainDriverId)" +
                        " Where T.TrainId = @id", (t, td) =>
                        {
                            t.Driver = td;
                            return t;
                        }, new { id = id }, null, true, "TrainDriverId");


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é