我正在尝试将枚举字段映射到 dto 属性。我正在使用 PositionalToBeanResultTransformer,如下所示:
PositionalToBeanResultTransformer trans = new PositionalToBeanResultTransformer(typeof(DTOClass), new string[] { "Id", "EnumProperty" });
var data = Sesion.CreateSQLQuery("SELECT Id, EnumField FROM Table")
.AddScalar("EnumField", NHibernateUtil.Custom(typeof(Enumerador)))
.SetResultTransformer(trans)
.List<DTOClass>();
public class DTOClass
{
public int Id { get; set; }
public Enumerador EnumProperty { get; set; }
}
DTOClass 没有被映射,所以我不能使用 AddEntity() 并且带有 AddScalar() 的代码会抛出一个错误,我必须实现 NHibernate.UserTypes.IUserType。如何将数据库的字符串字段转换为 SQLQuery 中的枚举?
在此先感谢您的帮助。