c# – 映射到Nhibernate中的枚举位标志

栏目: ASP.NET · 发布时间: 6年前

内容简介:代码日志版权声明:翻译自:http://stackoverflow.com/questions/672822/mapping-to-an-enum-bit-flag-in-nhibernate

采取以下枚举标志

[Flags]
enum Permssions
{
   CanComment = 1,
   CanEdit = 2,
   CanDelete = 4,
   CanRemoveUsers = 8,
   All = CanComment | CanEdit | CanDelete | CanRemoveUsers 
}

在NHibernate中,我已经映射到一个枚举,然后使用:

<property type="n.Permssions, n.Permssions"
name="Permssions" column="Permssions"></property>

我的问题是,如何使用NHibnerate将比特字段映射到Flag字段?

当我映射一个枚举,并且这个枚举的类型为’int’的后备值时,我只是将我的枚举属性映射到数据库中的一个int字段.我没有遇到这个问题.

我已经做了这个标志枚举,这只是工作没有问题.

当组合某些标志时,NHibernate会将这些标志的“组合”保留在数据库中的指定列中.

当您检索具有“标志枚举”属性的实例时,NHibernate将重新构建为正确的组合.

例如,如果DB包含“3”,那么NHibernate将使用适当值的组合填充属性.

实际上,我让NHibernate自己弄清楚:

<property name="OnCallType" column="OnCallType" />

OnCallType列在我的DB中为int类型,OnCallType属性是具有flags属性的枚举类型.

代码日志版权声明:

翻译自:http://stackoverflow.com/questions/672822/mapping-to-an-enum-bit-flag-in-nhibernate


以上所述就是小编给大家介绍的《c# – 映射到Nhibernate中的枚举位标志》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

认知盈余

认知盈余

[美] 克莱·舍基 / 胡泳、哈丽丝 / 中国人民大学出版社 / 2011-12 / 49.80元

“互联网革命最伟大的思考者”克莱•舍基 继《未来是湿的》之后最新力作 看自由时间如何变革世界的未来 如果说《未来是湿的》揭示的是“无组织的组织力量”, 那么《认知盈余》揭示的就是 “无组织的时间力量”。 腾讯董事会主席兼首席执行官马化腾首度亲笔作序倾情推荐 克莱•舍基说,美国人一年花在看电视上的时间大约2 000亿个小时,而这几乎是2 000个维基百科项目一年所需要的......一起来看看 《认知盈余》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具