cho*_*bo2 9 nhibernate fluent-nhibernate
我试图加入,我不断收到此错误
加入的路径![SELECT t.CourseId FROM Task as INNER JOIN Courses as c,CoursePermissions as cp WHERE(t.CourseId = 1)]
我有
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);
Run Code Online (Sandbox Code Playgroud)
我试图实现我的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)
Run Code Online (Sandbox Code Playgroud)
我正在使用nhibernate 3.1和流畅的nhibernate 1.2
Flo*_*Lim 16
这意味着在HQL中使用内部联接与在SQL中使用它有点不同.在HQL中,您通过提供"路径"来加入表,该路径基本上是您的类的引用属性.
而不是
SELECT t.CourseId FROM Task as t INNER JOIN Courses as c ...
Run Code Online (Sandbox Code Playgroud)
你需要写
// c.Taks is the IList property in your Courses class
SELECT t.CourseId FROM Courses as c INNER JOIN c.Tasks as t ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8760 次 |
| 最近记录: |