В нашем проекте, когда у нас есть что-то вроде context.entityA, выбирающего new {entityA, entityA.EntityB}, мы получаем один запрос, сгенерированный с помощью левого внешнего соединения, который содержит данные для EntityA и его дочерней сущности EntityB. Пока все хорошо.
Поскольку нам нужно поддерживать OData, у нас есть собственные DTO и мы используем AutoMapper для перевода между EntityX <-> CustomDTO. Мы используем метод расширения ProjectTo () из AutoMapper для проецирования сущности на целевой тип, и мы ожидаем, что этот метод также сгенерирует правильный запрос с дочерней сущностью. Однако этого не происходит, сгенерированный SQL выбирает только EntityA, и когда вы манипулируете экземпляром EntityA, генерируется новый запрос для извлечения ассоциированного EntityB. Примечание: наш ORM - EF6.
Есть идеи, почему и / или как можно решить эту проблему?