#generics #linq-to-entities
#дженерики #linq-to-entities
Вопрос:
Я хотел бы передать dbset
в качестве общего параметра, чтобы создать общий метод для большего количества запросов. Вопрос в том, как написать универсальный метод, который принимает DbSet<MyTable>
в качестве универсального параметра? Метод содержит запрос linq to entities и возвращает результат. MyTable может быть любой таблицей модели данных.
Я нашел похожие вопросы, но довольно сложные. Я полагаю, для простейшего примера должно быть какое-то простое решение.
private IQueryable<string> GetDgData(???)
{
var res = dbset.Select(x => x.MyProperty);
return res;
}
Комментарии:
1. В чем ваш вопрос?
2. @NetMage Я добавил объяснение
3. Для доступа
MyProperty
укажите типdbset
(разве это не должен быть параметр?) должен быть типа, который имеетMyProperty
. Если у вас нет базового класса или интерфейса, общего для всех ваших типов таблиц, вам придется использовать отражение вместо generics. Или, возможно, скомпилированныеExpression
деревья.4. @NetMage, если я расширяю все таблицы с помощью интерфейса. Как должен выглядеть метод?