Модель данных сущности ASP.net 4.0 Mysql неправильно обрабатывает перечисления Mysql - PullRequest
2 голосов
/ 22 августа 2011

Я только начинаю учиться, тестирую ADO.net Entity Data Models с MySql - все идет отлично, только я заметил одну вещь ...

В моей таблице MySql я создал тип столбца Enum. Когда ASP.net создает классы Model, перечисления обрабатываются как строки, а не как перечисления - есть ли способ это исправить?

Столбец UserStatus в MySql - это Enum с двумя потенциальными свойствами: Enabled и Disabled, однако asp.net обрабатывает как строковое значение: user.UserStatus = "Включено";

надеялся увидеть что-то подобное ... user.UserStatus = UserStatuses.Enabled;

Спасибо !!

Loren

1 Ответ

2 голосов
/ 22 августа 2011

Нет такого понятия, как тип enum sql, по крайней мере, не стандартный тип, что означает, что он нестандартный, и вам будет трудно найти любой фреймворк, который должным образом его поддерживает.

Что еще хуже, Entity Framework в настоящее время также не поддерживает типы Enum в коде. Есть некоторые хаки и обходные пути, но вы найдете их болезненными и не стоящими этого. Для всех намерений и целей перечисление MySQL является строковым объектом. Возможно, вам придется выполнить несколько пользовательских sql, чтобы типы перечисления могли заполнять ваш список.

Да, и к вашему сведению: 8 Причины, по которым тип данных MySQL ENUM является злым

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