使用 NHibernate 存储枚举的推荐方法是什么?
换句话说,我应该在模型的属性中使用枚举类型吗?它的ID(整数)?还是一个字符串?
我想从 Fluent NHibernate 的角度来了解。
最佳答案
我们最近在工作中不得不处理这个问题。
我们正在使用 FluentNhibernate 并为此创建了一个约定:
public class EnumConvention : IPropertyConvention, IConventionAcceptance<IPropertyInspector>
{
public void Accept(IAcceptanceCriteria<IPropertyInspector> criteria)
{
criteria.Expect(x => x.Property.PropertyType.IsEnum);
}
public void Apply(IPropertyInstance instance)
{
instance.CustomType(instance.Property.PropertyType);
}
}
然后你就可以映射你的属性(property)了
Map(x => x.Enum);
在数据库中,该字段是一个整数
关于nhibernate - NHibernate 的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2788344/