С EF я могу вернуть коллекцию объектов вроде
entities.Customers.ToArray();
И я могу включить другие таблицы, чтобы я мог эффективно получить 2 набора результатов в одном запросе
entities.Customers.Include("Invoice").ToArray();
или, если у меня есть какой-то пользовательский SQL, я могу получить аналогичный результат:
SqlDataReader reader = GetReaderFromSomewhere("SELECT * FROM Customer");
entities.Translate<Customer>(reader).ToArray();
Но как мне получить кратные результаты из моего собственного SQL? То, о чем я думал, было примерно таким
SqlDataReader reader = GetReaderFromSomewhere("SELECT Customer.Name AS CustomerName, Invoice.Number AS InvoiceNumber FROM Customer JOIN Invoice ON Customer.ID = Invoice.CustomerID");
entities.Translate<Customer>(reader).Include<Invoice>().ToArray();
В приведенном выше примере я добавил в префикс всех возвращаемых данных имя таблицы, чтобы метод Translate мог знать, какие столбцы принадлежат каким таблицам. Я предполагаю, что метод Tranlate не поддерживает это, но EF должен делать нечто подобное при вызове метода include. Итак, мой вопрос, как я могу получить функциональность Включить при использовании Переводчика?