2010-04-20 89 views
0

我想访问“MYSQL”数据库表来创建一个GUI来添加用户和权限。NHibernate的MySQL枚举

这样做,我遇到了我的第一个NHibernate问题。如何将MySQL Enum映射到C#布尔值?或者,如果不可能,那么至少是一个枚举?

数据库字段delcared为

enum('N', 'Y') 

这些都在数据库中的特权领域。

现在有无论如何进入一个枚举或更好,布尔在C#/ NHibernate的?

编辑#1:在C#中,如果我需要声明一个枚举这将是如下:

enum YesNoEnum 
{ 
    Yes, 
    No 
} 
+0

你怎么声明你的C#枚举? – wtaniguchi 2010-04-20 15:27:35

+0

我宁愿它是一个布尔值,但请参阅编辑#1:以上 – 2010-04-20 15:35:41

回答

2

您可以在C#中使用布尔和使用自定义IUserType实现它在MySQL映射到一个字符。 This example正是你要找的。

+0

感谢那:D我从那篇文章中发现,YesNoType实际上是内置到NHibernate(至少我使用的是2.x版本) – 2010-04-21 07:01:47

0

我不知道如何使用MySQL的枚举与NHibernate,但我知道,如果要使用C#中的布尔字段,并把它映射到一个MySQL数据库,你可以这样做:

MyDto.cs:

public bool IsAdmin {get;set;} 

列定义我n个数据库:

`IsAdmin` TINYINT(1) NOT NULL DEFAULT 0 
+1

这不会工作,我试图访问内置的MySQL权限表。因此,我无法更改/创建架构/列定义。 – 2010-04-20 15:59:43

+0

啊,我看到了,对不起,帮不了你:( – mmacaulay 2010-04-20 16:34:20