Как я могу использовать динамически типизированный IQueryable? - PullRequest
0 голосов
/ 05 июля 2019

У меня есть приложение ASP.NET, которое использует Kendo Grids для отображения данных. Я пытаюсь создать для пользователей способ динамического создания своих собственных гридов для отображения любых данных в базе данных, которую они хотят (в определенных пределах, конечно).

Моя проблема возникает из-за того, что я не знаю во время компиляции, по какой таблице пользователь захочет запросить. Для похожих, но статических сеток я использую объект System.Linq.IQueryable, например:

IQueryable<v_InvCountLine> query;
query = from w in dc.v_InvCountLines
            where w.BatchNum == batchNum && w.StoreRoom == storeroom && w.Serialized == 0
            select w;

//where v_InvCountLines is the name of a database table(view).

Я хочу сделать то же самое, но запросить таблицу, определенную строкой, переданной от пользователя.

Из этого вопроса Мне удалось создать такой объект, но он относится к типу объекта и поэтому не имеет доступа ни к одному из методов, которые мне нужны для выполнения работы.

//WOLinq is the name of a database table
Type objectType = Type.GetType("WOLinq");
Type type = typeof(IQueryable<>).MakeGenericType(objectType);
object query = Activator.CreateInstance(type);

Есть ли способ приведения query к его фактическому типу или какой-либо другой способ динамического выбора таблицы для запроса с помощью IQueryable <>?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...