Скажем, у меня есть база данных, в которой хранятся данные таблиц по годам с использованием идентичной схемы и одной таблицы в год.Примеры таблиц:
- MyData2009
- MyData2010
- MyData2011
У меня есть проект с использованием Entity Framework CTP5 (Code First), который являетсяуже работает с таблицей за один год, используя класс MyData с классом репозитория, который возвращает IQueryable результаты, подобные следующим:
public static IQueryable<MyData> GetData(SiteDB db, string AccountNumber)
{
return db.MyDatas.Where(oo => oo.AccountNumber == AccountNumber);
}
Как я могу реорганизовать вышеуказанный запроспоэтому я могу динамически указывать, какую таблицу (MyData2009, MyData2010 или MyData2011) она должна выполнять, но при этом по-прежнему возвращать IQueryable тип объекта?
Я думал, что, возможно, смогу создать MyData2009 , MyData2010 , MyData2011 классы, которые все наследуют от MyData , а затем заменяют параметр SiteDB переменной типа DbSet но похоже я не могу разыграть db.MyData2009s как DbSet