C#&实体框架 - 是否可以使用if else来切换表名

时间:2018-04-12 14:41:41

标签: c# entity-framework linq

是否可以使用if else来切换表名

我试试这个,但它的错误

var table = null; 

if(1 == 1)
{
    table = db.Table1;
}
else
{
    table = db.Table2;
}

var query = table.ToList();

1 个答案:

答案 0 :(得分:3)

嗯,这是可能的,但不是var。你必须给它一个有意义的类型:

IQueryable<SomeType> table = null; 

这里的问题是:SomeType应该怎么做?由于两种类型可能不同:Table1Table2都返回另一种类型。您可以让两者实现相同的接口:

IQueryable<ISomeInterface> table = null;