Я пытаюсь захватить результаты запроса из выражений linq, отправленных в DataContext (Devart.Data.Linq). Я могу записывать запросы, используя свойство Log, но еще не нашел способ перехватить результаты IQueryable.Перехват результатов LINQ to SQL
Цель состоит в том, чтобы связать запросы и результаты вместе, сериализовать их и использовать их позже для издевательств в контексте данных в тестовом наборе.
Все методы Devart.Data.Linq.DataContext, которые выглядят многообещающими (ExecuteQuery, Query), не являются виртуальными, поэтому я не могу переопределить их для хранения результатов. Я не хочу записывать результаты в том месте, где написаны запросы linq, поскольку это будет очень грязно и означать вставку в тестовом коде в приложении.
Я не уверен, что я понимаю, почему бы просто не повторять «IQueryable» или использовать «ToList» для получения результатов? – juharr
@Hogan Я понимаю, что OP хочет получить сгенерированный запрос, который они получают, и результаты, поэтому я запутался. – juharr
@juharr (ваш первый вопрос) Это было бы в том месте, где был написан запрос linq. Я хочу получить результаты в другом месте. Например, я надеялся расширить DataContext и каким-то образом захватить результаты на промежуточном этапе. Возможно, это невозможно, и мой вопрос не имеет смысла. – charliemango