Cadena de error de análisis con Dapper

.net dapper database micro-orm orm

Pregunta

Tengo la siguiente tabla, abreviada:

CREATE TABLE [dbo].[TERMINAL] (
    [TERM_CODEID]    SMALLINT     NOT NULL,
    [TERM_ACTIVE]    SMALLINT     NOT NULL,
    [TERM_NAME]      VARCHAR (30) NOT NULL,
    [TERM_SLA]       CHAR (8)     NOT NULL,
    [TERM_SERIAL]    VARCHAR (8)  NULL,
    [TERM_VERSION]   VARCHAR (8)  NULL,

    [TERM_STATUS]    INT          NULL,
)

Cuando pruebo el siguiente código Dapper, y soy un principiante completo de Dapper, lo encontré ayer, recibo un error:

using (var conn = new SqlConnection("data source=ourServer; initial catalog=ourDb;user id=sa;password=ourPassword;"))
{
    conn.Open();
    var terms = conn.Query<Terminal>("select * from TERMINAL");
}

El error es:

Error al analizar la columna 3 (TERM_SLA = 01010B01 - Cadena)

No veo ninguna razón por la cual algo deba siquiera 'analizar' una cadena, sin importar experimentar un error mientras lo hace. ¿Qué podría estar causando esto?

Respuesta aceptada

Dapper espera que el tipo de datos .NET sea ​​exactamente el mismo que en su base de datos. Term_Sla necesita ser del tipo String .


Respuesta popular

Aquí está mi experiencia. Espero que esto pueda ayudar, alguien:

Tuve el mismo error, y el tipo .net coincidía con el tipo de datos Sql; excepto que algunos datos eran nulos. Por lo tanto, asegúrese de que sus datos SQL no sean anulables, de lo contrario, adapte su tipo de propiedad .net en consecuencia.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow