2010-04-20 137 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