问题描述
- 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。但是我想要更好的方法,大家有没有思路呢?
解决方案
已经解决,利用nhibernate的内置方法,使用hql来包装一个常用类
var queryString = "select Type from Vehicle";
IList vtslist = session.CreateSQLQuery(queryString).SetResultTransformer(Transformers.AliasToBean(new VehicleTrans().GetType())).List();
其中VehicleTrans就是我需要的那个形式,如果需要什么字段,直接改hql就可以了
时间: 2024-11-05 06:12:48