C# 使用带有变量的DB上下文创建实体帮助器类

C# 使用带有变量的DB上下文创建实体帮助器类,c#,entity-framework,C#,Entity Framework,这是我试图创建的类 我得到错误“DbMainContext不包含tName的定义”,这是下面using语句下的第三行 我不想在很多地方重复编码查询,因此似乎一个助手方法可以保持代码更干净 public class DbHelper { static string GetValueFromDatabase(DatabaseData dbData) { string tName = dbData.TableName;

这是我试图创建的类

我得到错误“DbMainContext不包含tName的定义”,这是下面using语句下的第三行

我不想在很多地方重复编码查询,因此似乎一个助手方法可以保持代码更干净

public class DbHelper
    {
        static string GetValueFromDatabase(DatabaseData dbData)
        {
            string tName = dbData.TableName;

            using (DbMainContext db = new DbMainContext())
            {
                var query =
                   (from t in db.tName
                    where t.ID == 1198
                    select t.LastName).Single<String>();

                return query;

            }
        }
    }


    public class DatabaseData : IDatabaseData
    {
        public string TableName { get; set; }
        public string ColumnName { get; set; }
        public string WhereClause { get; set; }
        public int WhereId { get; set; }
    }

    public interface IDatabaseData
    {
        public string TableName { get; set; }
        public string ColumnName { get; set; }
        public string WhereClause { get; set; }
        public int WhereId { get; set; }
    }
}
公共类DbHelper
{
静态字符串GetValueFromDatabase(DatabaseData dbData)
{
字符串tName=dbData.TableName;
使用(DbMainContext db=new DbMainContext())
{
变量查询=
(来自t in db.tName
其中t.ID==1198
选择t.LastName).Single();
返回查询;
}
}
}
公共类数据库数据:IDatabaseData
{
公共字符串表名{get;set;}
公共字符串ColumnName{get;set;}
公共字符串where子句{get;set;}
public int WhereId{get;set;}
}
公共接口IDatabaseData
{
公共字符串表名{get;set;}
公共字符串ColumnName{get;set;}
公共字符串where子句{get;set;}
public int WhereId{get;set;}
}
}

您可能正在寻找类似的内容

您不能使用
db.Users“
,因此也不能使用
db.tName
。你可以使用反射,但你不想这样