Nhibernate中SelectList和Projection的区别是什么?
正如标题所说Nhibernate中SelectList和Projection的区别是什么?,nhibernate,queryover,Nhibernate,Queryover,正如标题所说 (在我看来,SelectList是一种创建投影的方法,无需使用projections方法。)我想说,文档中有完整的解释: QueryOver允许添加任意IProjection(允许私有 属性(待投影)。投影工厂类也有 允许使用Lambda表达式的重载: IList selection = session.QueryOver<Cat>() .Select(Projections.ProjectionList() .Add(P
(在我看来,
SelectList
是一种创建投影的方法,无需使用projections
方法。)我想说,文档中有完整的解释:
QueryOver允许添加任意IProjection(允许私有
属性(待投影)。投影工厂类也有
允许使用Lambda表达式的重载:
IList selection =
session.QueryOver<Cat>()
.Select(Projections.ProjectionList()
.Add(Projections.Property<Cat>(c => c.Name))
.Add(Projections.Avg<Cat>(c => c.Age)))
.List<object[]>();
IList选择=
session.QueryOver()
.Select(Projections.ProjectionList())
.Add(projects.Property(c=>c.Name))
.Add(projects.Avg(c=>c.Age)))
.List();
此外,还有用于创建投影列表的内联语法
不需要明确的班级资格:
IList selection =
session.QueryOver<Cat>()
.SelectList(list => list
.Select(c => c.Name)
.SelectAvg(c => c.Age))
.List<object[]>();
IList选择=
session.QueryOver()
.SelectList(list=>list
.选择(c=>c.Name)
.SelectAvg(c=>c.Age))
.List();
请看我想说,完整的解释在文件中: QueryOver允许添加任意IProjection(允许私有 属性(待投影)。投影工厂类也有 允许使用Lambda表达式的重载:
IList selection =
session.QueryOver<Cat>()
.Select(Projections.ProjectionList()
.Add(Projections.Property<Cat>(c => c.Name))
.Add(Projections.Avg<Cat>(c => c.Age)))
.List<object[]>();
IList选择=
session.QueryOver()
.Select(Projections.ProjectionList())
.Add(projects.Property(c=>c.Name))
.Add(projects.Avg(c=>c.Age)))
.List();
此外,还有用于创建投影列表的内联语法
不需要明确的班级资格:
IList selection =
session.QueryOver<Cat>()
.SelectList(list => list
.Select(c => c.Name)
.SelectAvg(c => c.Age))
.List<object[]>();
IList选择=
session.QueryOver()
.SelectList(list=>list
.选择(c=>c.Name)
.SelectAvg(c=>c.Age))
.List();
看