使用带有变量的DB Context创建实体帮助​​程序类

时间:2014-11-13 18:06:38

标签: c# entity-framework

这是我正在尝试创建的课程。

我收到错误'DbMainContext不包含tName的定义'这是下面using语句下的第3行。

我不想在很多地方继续重新编码查询,所以看起来帮助方法可以使代码更清晰。

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; }
    }
}

1 个答案:

答案 0 :(得分:0)

您可能正在寻找类似How to generalise access to DbSet members of a DbContext?的内容。

您无法使用db."Users",因此您也无法使用db.tName。你可以使用反射,但你不想要那样。