【发布时间】:2014-03-25 10:27:09
【问题描述】:
这件事让我忙了好几天,我希望 NHibernate 大师能帮助我。我已经设置了一个在 SQL Server 中工作的查询,我想在 NHibernate 中得到同样的结果。但到目前为止,我所有的尝试(在 stackoverflow 中进行了大量的谷歌搜索和浏览)都失败了。这是查询:
Select
j.id,
j.title,
j.company,
jt.name as category,
loc.city,
je.is_assigned,
FROM job j
LEFT JOIN location loc ON loc.id = j.location
LEFT JOIN job_tag jt ON jt.job = j.id
and jt.name in (SELECT name FROM tag WHERE tag_category=''Jobtype'')
LEFT JOIN job_employee je ON je.job = j.id
and je.employee_uid = <string>
我更喜欢使用 QueryOver,但很高兴得到你们的建议!
编辑:到目前为止我所做的非常简单......
JobEmployee jobEmployee = null;
Location loc = null;
JobTag jobTag = null;
session.QueryOver<Job>()
.JoinAlias(x => x.location, () => loc)
.JoinAlias(x => x.tags, () => jobTag, JoinType.LeftOuterJoin,
Restrictions.On(jobTag.name).IsIn(<subquery>))
.List();
但也有类似“delegate .... does not take 1 arguments”之类的错误。
最好的问候, 马丁
【问题讨论】:
-
看,这个场景的语法查询在nhforge.org/doc/nh/en/index.html#queryqueryover 有很好的描述。如果你能做点什么就好了。基本的 JOIN、SELECT、WHERE - 显示你有什么,并描述什么不起作用……如果有的话。 NHibernate 经验丰富的人为您提供帮助会更容易。
-
我对基本的 NHibernate 使用没有任何问题。我知道如何设置选择、where 子句等。但我不知道如何将条件设置为左连接。希望这对您有意义。
-
干得好。更多错误会有所帮助,但让我检查一下。或者也许其他人会给出答案......
标签: sql nhibernate fluent-nhibernate nhibernate-criteria queryover