橙子伯爵 2014-02-19 09:57 采纳率: 0%
浏览 2883

Nhibernate多表查询,不用遍历填充每一个值

有一个person类,里面有个status字段,保存的是人员状态。类型为int
还有一个baseinfo类,里面有name字段,用来保存status的中文如:在职/离职,还有一个value字段,与person类里面的status字段相对应,类型为int
这样做的目的是能够把一些基础数据进行维护。
我的问题是:用nhibernate查询后,如果返回person的List,如何将baseinfo中name字段的值,附加到List中每一个person的status值。
例如:
personList=[{name:'张三',sataus:"1"},
{name:'李四',sataus:"-1"},
{name:'王五',sataus:"1"}]
上面这个是利用nhibernate查出来的
而我想要的List是下面这个
personListNew=[{name:'张三',sataus:"1",statusName:'在职'},
{name:'李四',sataus:"-1",statusName:'离职'},
{name:'王五',sataus:"1",statusName:'在职'}]
我现在有的思路是遍历personList,从而得到新的personListNew。但是我想要更好的方法,大家有没有思路呢?

  • 写回答

1条回答

  • 橙子伯爵 2014-02-20 03:26
    关注

    已经解决,利用nhibernate的内置方法,使用hql来包装一个常用类
    var queryString = "select Type from Vehicle";

    IList vtslist = session.CreateSQLQuery(queryString).SetResultTransformer(Transformers.AliasToBean(new VehicleTrans().GetType())).List();
    其中VehicleTrans就是我需要的那个形式,如果需要什么字段,直接改hql就可以了

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器