有没有办法动态地定义表名,所以如果我访问的表对于不同的条件不同,我不必进行多次调用?如果我可以使用变量名,我不想为我正在访问的每个表都有if / else。
using (Entity ctx = new Entity())
{
dbTableVal = "EntityTables";
var query = from d in dbTableVal
where d == "Yes"
select d;
}
答案 0 :(得分:1)
我猜不,因为表本身也定义了返回IQueryable<T>
的类型。使用ESQL(具有字符串语法)甚至无法定义通用查询,而您不知道结果集的类型。
答案 1 :(得分:0)
答案 2 :(得分:0)
你可以创建一个接受“对象”和“类型”的函数并返回一个IQUeryable吗?
例如:
private IQueryable GetQuery(object Table, Type t)
{
var query = from d in ((t)Table) where d == "Yes" select d;
return query;
}
UNTESTED !!!所以可能需要对此做一些修改,但沿着这些方面的某些内容可能对你有用....