2 orangecount OrangeCount 于 2014.02.19 17:57 提问

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个回答

OrangeCount
OrangeCount   2014.02.20 11:26

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

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!