加入的路径! Nhibernate错误 [英] Path Expected for Join! Nhibernate Error
问题描述
我试图做一个连接,并且不断收到这个错误。 [SELECT
t.CourseId FROM Task as t INNER JOIN
Courses as c,CoursePermissions as cp
WHERE(t.CourseId = 1)]
我有
常量字符串查询=SELECT t.CourseId FROM Task as t INNER JOIN课程为c,CoursePermissions为cp WHERE(t.CourseId = 1);
var a = session.CreateQuery(query);
我试图实现的Sql
SELECT dbo.Tasks.CourseId
FROM dbo.Tasks INNER JOIN
dbo.Courses ON dbo.Tasks.CourseId = dbo.Courses.CourseId INNER JOIN
dbo.CoursePermissions ON dbo.Courses.CourseId = dbo.CoursePermissions.CourseId
WHERE(dbo.Tasks.CourseId = 1)
我使用nhibernate 3.1和流利的nhibernate 1.2
加入HQL与在SQL中使用它有点不同。在HQL中,通过提供路径(这个基本上是你的类的引用属性)来连接这些表。所以不是
选择t.CourseId从任务作为t INNER JOIN作为c的课程...
您需要编写
// c.Taks是您的课程中的IList属性class
SELECT t.CourseId FROM Courses as c INNER JOIN c.Tasks as t ...
I trying to do a join and I keep getting this error
Path expected for join! [SELECT t.CourseId FROM Task as t INNER JOIN Courses as c, CoursePermissions as cp WHERE (t.CourseId = 1)]
I have
const string query = "SELECT t.CourseId FROM Task as t INNER JOIN Courses as c, CoursePermissions as cp WHERE (t.CourseId = 1)";
var a = session.CreateQuery(query);
My Sql I am trying to achieve
SELECT dbo.Tasks.CourseId
FROM dbo.Tasks INNER JOIN
dbo.Courses ON dbo.Tasks.CourseId = dbo.Courses.CourseId INNER JOIN
dbo.CoursePermissions ON dbo.Courses.CourseId = dbo.CoursePermissions.CourseId
WHERE (dbo.Tasks.CourseId = 1)
I am using nhibernate 3.1 and fluent nhibernate 1.2
It means that you using an inner join in HQL works a little different than using it in SQL. In HQL you join the tables by providing the "path", which is basically the referenced property of your class.
So instead of
SELECT t.CourseId FROM Task as t INNER JOIN Courses as c ...
you need to write
// c.Taks is the IList property in your Courses class
SELECT t.CourseId FROM Courses as c INNER JOIN c.Tasks as t ...
这篇关于加入的路径! Nhibernate错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!