2015-09-29 3 views
1

Как вернуть общий тип таблицы в DBContext Я пробовал это, но получаю ошибку ??return generic table from method in dbcontext

Может кто-нибудь помочь решить эту проблему.

public T DeviceExist<T>(string DeviceId, int ImageId) 
    { 
    return DBContext.T.Where(d => d.DeviceId == DeviceId && d.ImageId == ImageId).FirstOrDefault();   
    } 
+0

то, что вы хотите, может быть 'DbContext.Set ()' – Hopeless

+0

я хочу некоторые вещи, как это возвращение DBContext.Set () .где (d => d.DeviceId == DeviceId); но получить ошибку? нет intelliscence –

+0

, и я хочу вернуть общий класс в обратном типе? –

ответ

2

Если предположить, что общий тип T наследуется от базового класса, имеющего свойство DeviceId и ImageId, вы можете использовать:

DBContext.Set<T>().Where(d => d.DeviceId == DeviceId && d.ImageId == ImageId).FirstOrDefault(); 

Не забудьте указать базовый класс, от которого T наследуется в where ограничений общего класса/репозитория.

+0

guyz Большое вам спасибо .... наконец-то проблема решена –

+0

если я обновляю модель из db, она будет генерировать все классы и удалить реализацию интерфейса? –

+0

и снова я пойду и снова реализую интерфейс IEntity? так это так плохо? Как я могу справиться с этой проблемой здесь? –

 Смежные вопросы

  • Нет связанных вопросов^_^