【发布时间】:2010-07-23 15:09:03
【问题描述】:
考虑这些 POCO:
class Foo {
int Id {get;set;}
string Name {get;set;}
}
class Bar {
int Id {get;set;}
string PropA {get;set;}
Foo PropB {get;set;}
}
现在我想要实现的是使用带有Bar 根实体的ISQLQuery 来水合PropB 属性。
ISQLQuery barsAround = nhSes.CreateSQLQuery("select b.Id, b.PropA, {????} from Bar b inner join Foo f on f.Id = b.FK_FooId");
barsAround.SetResultTransformer(Transformers.AliasToBean<Bar>());
IList<Bar> results = barsAround.List<Bar>();
{????} 中的哪里是获取 b.Id 和 b.Name 并水合实体 Bar 的属性 PropB 的片段。
我不能使用ISQLQuery.AddEntity(),因为这会导致托管实体,我不能使用托管实体。获取的条形图是条形图的版本,因此每行的相同 Id 会终止 NHibernate 引擎。
【问题讨论】:
标签: c# nhibernate isql resulttransformer isqlquery