如何在命名的SQL查询中映射投影类

时间:2011-03-19 14:48:11

标签: nhibernate nhibernate-mapping

我希望这个SQL查询重新调整CustomFieldValue类,而不是object [],但它失败并出现运行时异常“命名查询GetCustomFields中的错误”。

SQL查询映射:

<sql-query name="GetCustomFields">
    <return alias="cfv" class="STL.Model.CustomFieldValue, STL.Domain" />

    SELECT
    cf.NAME as {cfv.Name},
    cf.VALUE as {cfv.Name}
    ...

  </sql-query>

DTO:

 [Serializable]
        public class CustomFieldValue
        {
            public virtual string Name { get; set; }
            public virtual string Value { get; set; }
        }

但是,删除别名,类并运行如下内容:

session.GetNamedQuery("GetCustomFields")
    .SetResultTransformer(Transformers.AliasToBean(typeof(Domain.Model.CustomFieldValue)))
    .List<Domain.Model.CustomFieldValue>();

它按预期工作。有人知道映射有什么问题吗?

1 个答案:

答案 0 :(得分:0)

CustomFieldValue是映射实体吗?你可以发布映射吗?

否则,可以使用AliasToBean转换器。