Опитвам се да получа низа на заявката с параметри за целите на отстраняване на грешки от рамката на обекта. Не, няма да използвам EFProfiler, защото низовете на заявката трябва да са видими като изход на страницата. Повечето от тези заявки се пишат ръчно с помощта на ExecuteStoredQuery(). Прехвърлянето им към ObjectQuery обаче дава нула.
Пример:
ObjectResult<Parent> model = _context.ObjectContext().ExecuteStoreQuery<Parent>("SELECT * FROM Parents");
var objectQuery = model.AsQueryable() as ObjectQuery<Parent>;
objectQuery е нула. ObjectContext() е прост метод в контекста на данните, който изглежда така:
return (this as IObjectContextAdapter).ObjectContext;
Изчерпах собствените си идеи и всичко, което се върна от търсения, е... е, безполезно, защото изглежда никой не разбира този проблем. Имайте предвид, че резултатите се връщат правилно от заявката.
Редактиране: Добре, трябваше да спомена и това.
Правейки това:
var oq = m as ObjectQuery<Parent>;
Дава ми това:
Не може да преобразува тип „System.Data.Objects.ObjectResult“ в „System.Data.Objects.ObjectQuery“ чрез референтно преобразуване, преобразуване в кутия, преобразуване в разопаковане, преобразуване в обвивка или преобразуване на нулев тип
Откъде реших, че трябва да се предаде AsQueryable(), което, добре... е нула, по очевидни причини. Уморената ми глава беше тази, която забрави да добави тази малка подробност.