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 ...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With