Ошибка разбора строки с помощью Dapper
У меня есть следующая таблица, сокращенная:
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, нашел его вчера - я получаю сообщение об ошибке:
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 - String)
Я не вижу причин, по которым что-либо должно даже "анализировать" строку, не говоря уже о том, чтобы при этом допустить ошибку. Что может быть причиной этого>
3 ответа
Dapper
ожидает .NET
Тип данных должен быть точно таким же, как в вашей базе данных. Term_Sla
должен быть типа String
,
Вот мой опыт. Я надеюсь, что это может помочь кому-то:
У меня была та же ошибка, и тип.net соответствовал типу данных Sql; за исключением того, что некоторые данные были нулевыми. Поэтому убедитесь, что ваши sql-данные не обнуляются, иначе соответствующим образом измените тип вашего свойства.net.
В моем случае было поле перечисления, и его не было в записях SQL.