Проблемы с отображением типов TINYINT или BIT с использованием пакета MySql.Data.EntityFrameworkCore - PullRequest
0 голосов
/ 21 января 2019

Я использовал первый подход к БД и пытался создать EF-модели на основе существующей БД.
Я пытался представить логический тип из моего столбца.

Сначала я попытался установить тип TINYINT(1), затем я генерирую модель EF и вижу тип byte для этого столбца.Я пробовал много подходов, чтобы установить его на 0 без успеха.Я попытался просто присвоить =0 этой переменной, затем я попытался использовать метод Convert.ToByte(false), но оба они не увенчались успехом.

Моим следующим шагом было изменение типа TINYINT(1) на BIT(1).Затем EF сгенерировал short тип для моего столбца.Я не могу присвоить значение 0 через этот тип short.

В чем моя ошибка?

Ответы [ 2 ]

0 голосов
/ 22 января 2019

Итак, я изменил значение по умолчанию на NULL в MySQL, а затем EF сгенерировал для меня обнуляемый тип short?. Странные вещи, но на этот раз отображение работает правильно.

0 голосов
/ 21 января 2019

Звучит так, как будто вы столкнулись с MySQL bug 92987 . (См. Также ошибка 93028 , которая аналогична.)

Поскольку Oracle даже не подтвердила эти проблемы, не говоря уже о том, чтобы указать какой-либо приоритет для их устранения, вы можете попробовать переключиться на Pomelo.EntityFrameworkCore.MySql , альтернативную реализацию MySQL EF.Core; многие люди сообщают, что это намного надежнее (например, здесь и здесь ).

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