流畅的NHibernate Automapper将Enum映射到nvarchar(255)而不是int?

时间:2009-12-01 23:00:24

标签: nhibernate fluent-nhibernate nhibernate-mapping

为什么在Fluent NHibernate中使用automapper时,枚举被映射为字符串而不是int?

1 个答案:

答案 0 :(得分:2)

感谢Mikael Henriksson在fluent-nhibernate mailing list我找到答案:

public class EnumConvention :
    IPropertyConvention,
    IPropertyConventionAcceptance
{
    #region IPropertyConvention Members

    public void Apply(IPropertyInstance instance)
    {
        instance.CustomType(instance.Property.PropertyType);
    }

    #endregion

    #region IPropertyConventionAcceptance Members

    public void Accept(IAcceptanceCriteria<IPropertyInspector> criteria)
    {
        criteria.Expect(x => x.Property.PropertyType.IsEnum);
    }

    #endregion

}