代码之家  ›  专栏  ›  技术社区  ›  Michal Ciechan

nhibernate mysql枚举

  •  0
  • Michal Ciechan  · 技术社区  · 15 年前

    我正在尝试访问“mysql”数据库表,以创建一个用于添加用户和特权的GUI。

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

    数据库字段被删除为

    enum('N', 'Y')
    

    这些都是数据库中的特权字段。

    现在是不是有办法把这个变成枚举或者更好的方法, 布尔 在C/N纤维酸盐中?

    编辑第1页: 在C中,如果我需要声明枚举,它将是以下内容:

    enum YesNoEnum
    {
      Yes,
      No
    }
    
    2 回复  |  直到 15 年前
        1
  •  2
  •   Jamie Ide    15 年前

    您可以在c_中使用bool,并使用自定义的iusertype实现将其映射到mysql中的char。 This example 正是你想要的。

        2
  •  0
  •   mmacaulay    15 年前

    我不知道如何将mysql的enum与nhibernate一起使用,但我知道,如果要在c中使用布尔字段并将其映射到mysql数据库,可以执行以下操作:

    MyDto.cs:

    public bool IsAdmin {get;set;}
    

    数据库中的列定义:

    `IsAdmin` TINYINT(1) NOT NULL DEFAULT 0