Я пытаюсь использовать запрос через, чтобы получить коллекцию объектов на основе присоединения/подзапроса согласно примере ниже:NHibernate QueryOver подвыборки или Регистрация
var types = new List<ActivityType>{ActivityType.CommentMedia, ActivityType.KeepMedia};
return _sessionFactory.GetCurrentSession()
.QueryOver<Activity>()
.Where(a.Type.IsIn(types))
.WithSubquery.WhereExists(QueryOver.Of<Resource>()
.Where(k => k.MemberKey == userId)
.Where(k => k.ResourceKey == activity.ResourceId)
)
.Take(take)
.List();
Другими словами извлекать все виды деятельности, которые в таблица ресурсов, соответствующая идентификатору пользователя и ресурса.
Я хотел бы сделать это в сыром SQL либо присоединение к ресурсу, или подзапроса:
where a.ResourceId in (select resourceKey from resource where resource.memberkey = a.MemberId)
Не уверен, как поступить в NHibernate, хотя. Какие-либо предложения?
(Мы не хотим использовать отображение, как мы хотим сохранить объект активность очень просто по соображениям производительности)
Заранее спасибо
ли это необходимо использовать QueryOver для этого , или HQL также вариант? –
Запрос предпочтительнее. Мне кажется, что это должно быть просто. ура –