Приєднання Entity Framework ігнорує всі мої включені

Supose цей метод

  private IQueryable RequeteFacture(params Expression>[] includes)
  {
     return from f in _contexte.Set().Include(includes)
            from mf in f.MontantsFacture.OfType().DefaultIfEmpty()
            from mt in f.MontantsFacture.OfType().DefaultIfEmpty()
            select new FactureAnonyme
            {
               Id = f.Id,
               Facture = f,
               MontantsFrais = mf,
               MontantsTaxeUnit = mt,
               Frais = mf.Frais,
               TaxeUnitaire = mt.TaxeUnitaire,
               Taxe = mt.TaxeUnitaire.Taxe
            };
  }

Коли я отримую мій об'єкт "Фактура" запит ігнорувати всі мої включити чому? І як я можу зробити, щоб включити мою навігаційну властивість для мого об'єкта Facture.

Н.Б. Я не хочу використовувати Lazy Loading

Дякую!

1

1 Відповіді

Це за дизайном . Include втрачається, коли ви почнете використовувати власні з'єднання або проекції. Ви повинні виставити властивості на ваш проектований тип і вручну заповнити їх проекцією.

2
додано
посилання не працює, чи можете ви оновити?
додано Автор user230910, джерело
Це не має обхідного шляху. Ви хочете отримати доступ до об'єкта, де ви можете використовувати Include (= прямий запит об'єкта) або ви хочете спеціальні проектовані дані, де ви повинні завантажувати все самостійно.
додано Автор Ladislav Mrnka, джерело
Це не дуже зручно. Я б вважав за краще, щоб компілятор помилявся, за умовчанням передбачається, що запит насправді виконує роботу.
додано Автор Francis, джерело
Гаразд, чи є у неї шлях вирішення цієї проблеми? Я намагаюся вирішити багато, але нічого не працюю ... Я знаю, як це зробити з SQL, але з EF це дійсно кошмар!
додано Автор Francis, джерело