nHibernate连接语法错误

nHibernate连接语法错误,nhibernate,syntax,join,Nhibernate,Syntax,Join,我正在做我的第一个nHibernate加入。在下面的函数中,我想返回指定查询的记录列表。通常,我的列表类型是表示数据库表的类。在本例中,由于我正在进行连接,因此我创建了一个自定义类,该类仅包含我从数据库检索的列的字段。然而,当我创建查询时,我得到了“ERROR:42601:syntax ERROR at end of input”,这似乎与ReportColumns的使用有关。有人能告诉我我正在做的事情是否可行,如果不可行,如何做到 public IList<ReportColumns&g

我正在做我的第一个nHibernate加入。在下面的函数中,我想返回指定查询的记录列表。通常,我的列表类型是表示数据库表的类。在本例中,由于我正在进行连接,因此我创建了一个自定义类,该类仅包含我从数据库检索的列的字段。然而,当我创建查询时,我得到了“ERROR:42601:syntax ERROR at end of input”,这似乎与ReportColumns的使用有关。有人能告诉我我正在做的事情是否可行,如果不可行,如何做到

public IList<ReportColumns> FetchRecords(NHibernateDBConnection db, string MyName)
{
    return db.Session
        .CreateQuery("SELECT s.RunNumber, s.TestStarted, s.StationName, t.Name FROM MyTable1 s, MyTable2 t WHERE (s.RunNumber = t.RunNumber AND t.Name = :MyName")
        .SetParameter("MyName", MyName)
        .List<ReportColumns>();
}
public IList FetchRecords(NHibernateDBConnection数据库,字符串MyName)
{
返回db.Session
.CreateQuery(“从MyTable1 s、MyTable2 t中选择s.RunNumber、s.TestStart、s.StationName、t.Name,其中(s.RunNumber=t.RunNumber和t.Name=:MyName”)
.SetParameter(“MyName”,MyName)
.List();
}

您缺少右括号。

眼力不错。我修复了此问题,但查询仍然不被接受。我遇到了一个异常:{“value\”System.Object[]\“不是类型\“MyApp.MyTable+ReportColumns\”,无法在此常规集合中使用。\r\n参数名称:value“}还有其他想法吗?我忽略了这一点。如果您选择的是任意领域的列表,NHibernate会将其作为列表返回。如果您需要ReportColumn列表,则需要使用transformer或Linq to objects投影。