C# nhibernate投影标准的动态DTO
我的c代码中有一个投影列表:C# nhibernate投影标准的动态DTO,c#,nhibernate,criteria,dto,nhibernate-criteria,C#,Nhibernate,Criteria,Dto,Nhibernate Criteria,我的c代码中有一个投影列表: var-criteria=DetachedCriteria.For(this.modelType); for(int i=0;i0) 标准.设定投影(投影); 如果我在投影中未设置任何字段,我的回报如下: 但如果我在代码中设置了投影,我的结果如下: 如何将动态数据中的投影列表转换为对象?我们需要的是transformer: criteria .SetResultTransformer( NHibernate.Transform.Transf
var-criteria=DetachedCriteria.For(this.modelType);
for(int i=0;i0)
标准.设定投影(投影);
如果我在投影中未设置任何字段,我的回报如下:
但如果我在代码中设置了投影,我的结果如下:
如何将动态数据中的投影列表转换为对象?我们需要的是transformer:
criteria
.SetResultTransformer(
NHibernate.Transform.Transformers.AliasToBean<MyEntity>())
变压器的要点是使用别名(请参见.As()
):
请在此处查看更多信息,例如:
IList
应该很容易转换为IDictionary。但你还是需要知道钥匙。。。(就像上面的别名)。。。关于dto和POCOTH的几句话第二个例子对我有帮助。。真的很高兴见到你。享受强大的NHibernate Igor;)
criteria
.SetResultTransformer(
NHibernate.Transform.Transformers.AliasToBean<MyEntity>())
criteria
.SetResultTransformer(
NHibernate.Transform.Transformers.AliasToBean(this.modelType))
.SetProjection(Projections.ProjectionList()
.Add(Projections.Property("Property1").As("Property1"))
.Add(Projections.Property("Property2").As("Property2"))
.Add(Projections.Property("Property3").As("Property3"))
)