У меня есть 2 таблицы, tblA и tblB, с одинаковыми полями и типами.Я получаю данные через linq to sql, поэтому у меня есть 2 частичных класса clsTblA и clsTblB.
У меня есть комбо, чтобы выбрать tblA или tblB, и я должен прочитать в этой таблице и выполнить какой-либо запрос.
Я пытаюсь дублировать код для запуска тех же методов.Так что теперь у меня есть (в псевдокоде):
if (combo == "A")
{
List<clsTblA> listUserNow = ctx.clsTblA.Where(p => p.blabla).ToList();
List<clsTblA> listUserLastYear = ctx.clsTblA.Where(q => q.blabla).ToList();
}
if (combo == "B")
{
List<clsTblB> listUserNow = ctx.clsTblB.Where(p => p.blabla).ToList();
List<clsTblB> listUserLastYear = ctx.clsTblB.Where(q => q.blabla).ToList();
}
Но я имею в виду нечто подобное (в псевдокоде):
SupClsTable clsTblX = null;
if (combo == A)
clsTblX = new clsTblA();
if (combo == B)
clsTblX = new clsTblB();
List<clsTblX> listUserNow = tblX.QueryForNow();
List<clsTblX> listUserLastYear = tblX.QueryForLastYear();
Существует ли что-то подобное?Я также искал в шаблоне проектирования, но без результатов.
Заранее спасибо.
РЕДАКТИРОВАТЬ 1: На данный момент код выглядит так:
if (combo == A)
{
using (DbDataContext ctx = new DbDataContext())
{
List<clsTblA> listUserNow = ctx.clsTblA.Where(p => p.blabla).ToList();
List<clsTblA> listUserLastYear = ctx.clsTblA.Where(q => q.blabla).ToList();
}
}
if (combo == B)
{
using (DbDataContext ctx = new DbDataContext())
{
List<clsTblB> listUserNow = ctx.clsTblB.Where(p => p.blabla).ToList();
List<clsTblB> listUserLastYear = ctx.clsTblB.Where(q => q.blabla).ToList();
}
}
, поэтому у меня есть два разаlistUserNow и listUserLastYear.Как я могу позволить мне вернуть уникального
using (DbDataContext ctx = new DbDataContext())
{
List<*something*> listUserNow = ctx.*something*.Where(p => p.blabla).ToList();
List<*something*> listUserLastYear = ctx.*something*.Where(p => p.blabla).ToList();
}
независимого от "если комбо"?Спасибо в адвенсе