NHibernate:SqlProjection中的表别名

NHibernate:SqlProjection中的表别名,nhibernate,Nhibernate,我有以下代码: Session.CreateCriteria<Foo>("foo") .CreateAlias("foo.Bar", "bar") .SetProjections(Projections.SqlProjection("bar.FirstName + ' ' + bar.LastName)); Session.CreateCriteria(“foo”) .CreateAlias(“foo.Bar”、“Bar”) .SetProjections(Proj

我有以下代码:

Session.CreateCriteria<Foo>("foo")
    .CreateAlias("foo.Bar", "bar")
    .SetProjections(Projections.SqlProjection("bar.FirstName + ' ' + bar.LastName));
Session.CreateCriteria(“foo”)
.CreateAlias(“foo.Bar”、“Bar”)
.SetProjections(Projections.SqlProjection(“bar.FirstName+“”+bar.LastName));
问题在于SqlProjection中的bar表的别名

Hibernate文档说“字符串{alias}将被根实体的别名替换”,但没有给出任何关于如何访问非根实体别名的提示

这可能吗?

试试这个:

 Session.CreateCriteria<Foo>()
   .CreateCriteria("Bar")
      .SetProjections(Projections.SqlProjection("FirstName + ' ' + LastName)");
Session.CreateCriteria()
.CreateCriteria(“Bar”)
.SetProjections(Projections.SqlProjection(“FirstName+“”+LastName”);
试试这个:

 Session.CreateCriteria<Foo>()
   .CreateCriteria("Bar")
      .SetProjections(Projections.SqlProjection("FirstName + ' ' + LastName)");
Session.CreateCriteria()
.CreateCriteria(“Bar”)
.SetProjections(Projections.SqlProjection(“FirstName+“”+LastName”);

我有一个类似的问题。具体来说,我想创建一个由多个字段串联而成的投影。我没有使用SqlProjection,而是使用:

Projections.SqlFunction("concat",
                        NHibernateUtil.String,
                        Projections.Property("Field"),
                        Projections.Constant(" "),
                        Projections.Property("Field2",
                        Projections.Constant(" "),
                        Projections.Property("Field3")
                    );

这是基于NHibernate单元测试的:使用SQLFunctions\u Concat\u with Cast。尽管“Concat”不是本机函数,但这在SQL Server上仍然有效。

我有一个类似的问题。具体来说,我想创建一个由多个字段串联而成的投影。我没有使用SqlProjection,而是使用了:

Projections.SqlFunction("concat",
                        NHibernateUtil.String,
                        Projections.Property("Field"),
                        Projections.Constant(" "),
                        Projections.Property("Field2",
                        Projections.Constant(" "),
                        Projections.Property("Field3")
                    );
这是基于NHibernate单元测试的:使用sqlfunctions\u Concat\u with cast。尽管“Concat”不是本机函数,但这在SQL Server上是有效的