【发布时间】:2014-09-29 12:01:00
【问题描述】:
我有下一个使用 QueryOver 的 Fluent NHibernate 查询:
IQueryOver<Task> query = session
.QueryOver<Task>()
.JoinAlias(x => x.Subject, () => subject, JoinType.LeftOuterJoin)
.JoinAlias(() => subject.Localizations, () => localization, JoinType.LeftOuterJoin)
.Where(() => localization.Language.Id == languageId || localization.Language.Id == null);
.Where(x => x.UserId == userId)
这将执行下一个查询:
SELECT * FROM Tasks left outer join Subjects on Tasks.SubjectId = Subjects.IdAsignatura
left outer join Languages on Subjects.SubjectId=Languages.SubjectId
WHERE Tasks.UserId = xxx
and (Languages.LanguageId = yyy or Languages.LanguageId = is null)
我想避免使用“LEFT OUTER JOIN ... AND”的最后一行,如下所示:
SELECT * FROM Tasks left outer join Subjects on Tasks.SubjectId = Subjects.IdAsignatura
left outer join Languages on Subjects.SubjectId=Languages.SubjectId AND Languages.LanguageId = yyy
WHERE Tasks.UserId = xxx
有没有办法执行“LEFT OUTER JOIN ... AND”Fluent NHibernate 查询?
【问题讨论】:
标签: c# nhibernate fluent-nhibernate