使用Dapper将char(8)映射到字符串属性 [英] Mapping char(8) to string property with Dapper

查看:120
本文介绍了使用Dapper将char(8)映射到字符串属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一张简略的下表:

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,
)

当我尝试以下Dapper代码时-我是一个完整的Dapper新手,昨天找到了它-我收到错误消息:

When I try the following Dapper code - and I'm a complete Dapper novice, found it yesterday - I get an 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");
}

错误是:

第3列错误解析(TERM_SLA = 01010B01-字符串)

Error parsing column 3 (TERM_SLA=01010B01 - String)

我看不出有什么理由甚至必须解析"字符串,也没关系在这样做时遇到错误.可能是什么原因造成的?

I can see no reason why anything should even have to 'parse' a string, never mind experience an error while doing so. What could be causing this>

推荐答案

Dapper期望.NET数据类型与数据库中的数据类型完全相同. Term_Sla必须为String类型.

Dapper expects the .NET data type to be exactly the same as in your database. Term_Sla needs to be of type String.

这篇关于使用Dapper将char(8)映射到字符串属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆