使用变量作为实体表名称

本文关键字:实体 变量 | 更新日期: 2023-09-27 17:58:09

有没有一种方法可以动态定义表名,这样如果我访问的表因不同条件而不同,我就不必进行多次调用?如果我可以使用变量名,我不想对我正在访问的每个表都使用if/else。

using (Entity ctx = new Entity())
{
    dbTableVal = "EntityTables";
    var query = from d in dbTableVal
                where d == "Yes"
                select d;
}

使用变量作为实体表名称

我想不会,因为表本身也定义了返回的IQueryable<T>的类型。ESQL(具有字符串语法)甚至不可能在不知道结果集类型的情况下定义通用查询。

查看以下内容:

使用LINQ到SQL与动态表

您可以创建一个接受"object"answers"type"并返回IQUeryable的函数吗?

例如:

private IQueryable GetQuery(object Table, Type t)
{
    var query = from d in ((t)Table) where d == "Yes" select d;
    return query;
}

未经测试!!!所以可能需要对此做一些改变,但沿着这些思路做的事情可能对你有用。。。。