Где пункт о дочерних свойствах навигации - PullRequest
0 голосов
/ 24 октября 2018

Я попытался запросить таблицу с «предложением where», основанной на многоуровневых дочерних навигационных свойствах.

У меня есть:

  • table A со свойствами навигации для:
    • Таблица B со свойствами навигации для:
      • Таблица C

, поэтому я пытаюсь:

var query = context.TableA.where(a => a.TableB_navProperties.where(b => b.TbableC_navProperties.where(c => c.prop=="testCondition")));

Но этот запрос неверен: Visual Studio сказала: «Невозможно преобразовать system.collection.generic.IEnumerable в bool»

Как я могу запросить таблицу с условием на дочерние свойства дочерних элементов навигации?

Спасибо

1 Ответ

0 голосов
/ 25 октября 2018

Я нашел решение.Для свойств навигации, которые являются коллекцией, используйте Any () вместо where ():

var query = context.TableA.where(a => a.TableB_navProperties.Any(b => b.TbableC_navProperties.Any(c => c.prop=="testCondition"))); 

Это решение работает, но сгенерированный sql использует много « Существующий подзапрос », поэтому ядумаю, что это не очень эффективно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...