unsigned int mysql в C # - PullRequest
       4

unsigned int mysql в C #

2 голосов
/ 02 января 2011

В mysql я объявил поля типа unsigned int. По умолчанию они INT (10) НЕ ПОДПИСАНО. В моем коде C #, когда я пытаюсь прочитать эти значения в тип UINT, это дает мне сообщение об ошибке msgstr "не может конвертировать долго в uint". Есть ли что-то, что я здесь скучаю? Я думал, что BIGINT должен был быть длинным, а int (10) unsigned должен был быть uint? Я использую Entity Framework для чтения в значениях ... Спасибо

КОД

from employee in model.employees 
select new EmployeeEntity { 
  EmpID = employee.EmpID, 
  FirstName=employee.FirstName
};

EmpID объявлен как UNSIGNED INT 10 в MySQL

EmployeeEntity объявляет EmpID как uint (я тоже пробовал uint32). Однако линия

Назначение "EmpID = employee.EmpID" дает мне ошибку ...

Ответы [ 2 ]

0 голосов
/ 03 января 2011

Это проблема провайдера. Преобразует типы между СУБД и приложением с ошибками. Я рекомендую вам спросить их поддержку или сменить провайдера.

Что касается меня - я использую Devart dotConnect для MySQL. Его таблица соответствия приведена здесь - http://www.devart.com/dotconnect/mysql/docs/DataTypeMapping.html

0 голосов
/ 02 января 2011

Звучит как проблема с провайдером EF.Возможно, значение просто извлекается как long.Но так как вы знаете, что это Uint, вы можете просто привести его от продолжительного к Uint.Но попробуйте проверить, существует ли более новая версия поставщика EF, который правильно отображает типы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...