nHibernate: преобразование запроса Linq в детализированные критерии, где существуют вложенные запросы и списки - PullRequest
0 голосов
/ 03 октября 2018

Это мой первый пост, поэтому, пожалуйста, прости меня за любые ошибки в запросе.

Я хочу преобразовать запрос Linq в отключенные критерии для nHibernate.

У меня много проблем(поиск весь день) для краткого ответа на этот вложенный запрос, который в настоящее время находится в Linq.Я нахожу много фрагментированной информации, но не могу ее собрать.

Мой макет класса для этой цели:

Sheet --> Sections --> Questions.Type {string}

По сути, листы содержат список разделов, в которыхсодержит список вопросов.У вопросов есть поле «Тип», представляющее собой строку, которую я хочу обнулить.

LinQ

Query<Sheet>()
.Where (x.Sections.Any(section=>section.Questions.Any(q => q 
 is MultiChoice && ((MultiChoice)q).NativeValue.Id == anyInt))));

Так что в основном я хотел бы проверить, где вопрос (q)тип MultiChoice и равен значению int, которое я там передаю.Моя настоящая проблема, однако, заключается в том, чтобы просто добраться до уровня этого суб-подобъекта.

До сих пор я слышал упоминание о так называемых ассоциациях для объектов внутри объекта.Я думаю, что научился бы быстрее, если бы пример этого утверждения был показан мне как DetatchedCriteria.У меня есть несколько ситуаций, подобных этой, но я думаю, что один хороший пример, который я могу здесь использовать.

Я использовал упрощенную схему своих классов, поскольку они довольно большие, но это важные части.Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

Я новичок в nHibernate, но до сих пор добился определенных успехов, выполняя прямые критерии Detatched, включая .Add ограничения и типы .Disjunction (), и это примерно такнасколько я знаю.

...