我正在尝试编写一个 linq to sql 查询,并根据用户提供的输入字符串在运行时动态选择要从哪个表中选择。现在我有一个选择语句可以做到这一点,但它只是重复相同的查询三次,唯一的区别是选定的表。有点像这样:
if (input == "94")
{
var query = from i in db.Table94
select new MyClass(i.A, i.B, i.C);
}
if (input == "95")
{
var query = from i in db.Table95
select new MyClass(i.A, i.B, i.C);
}
//more conditional queries
query = query.Where(addtionalFilteringDoneHere);
DataGridView.DataSource = query;
使用条件 Where 子句很容易,但我正在为表选择寻找类似的东西。我厌倦了几件事,但它们没有用。就像是:
var query = from i in FetchTable(input)
select new MyClass(i.A, i.B, i.C);
query = query.Where(addtionalFilteringDoneHere);
public returnType FetchTable(string input)
{
//need help here
return db.GetTable<conditionalTable>;
}
我不知道返回类型是什么,或者即使有办法做到这一点。是否可以?