NHibernate MySQL Enum - PullRequest
       8

NHibernate MySQL Enum

0 голосов
/ 20 апреля 2010

Я пытаюсь получить доступ к таблицам базы данных "MYSQL", чтобы создать графический интерфейс для добавления пользователей и привилегий.

При этом я столкнулся с первой проблемой NHibernate. Как мне сопоставить MySQL Enum с C # Boolean? Или если это невозможно, то хотя бы в Enum?

Поля базы данных обнуляются как

enum('N', 'Y')

Это все поля привилегий в базе данных.

А есть ли способ добавить это в перечисление или даже лучше, логическое в C # / NHibernate?

Редактировать # 1: В C #, если мне нужно объявить перечисление, это будет следующим:

enum YesNoEnum
{
  Yes,
  No
}

Ответы [ 2 ]

2 голосов
/ 20 апреля 2010

Вы можете использовать bool в C # и сопоставить его с char в MySQL, используя собственную реализацию IUserType. Этот пример - это именно то, что вы ищете.

0 голосов
/ 20 апреля 2010

Я не знаю, как использовать перечисление MySQL с NHibernate, но я знаю, что если вы хотите использовать логическое поле в C # и сопоставить его с базой данных MySQL, вы можете сделать это:

MyDto.cs:

public bool IsAdmin {get;set;}

Определение столбца в базе данных:

`IsAdmin` TINYINT(1) NOT NULL DEFAULT 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...