Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nhibernate中SelectList和Projection的区别是什么?_Nhibernate_Queryover - Fatal编程技术网

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();