Linq 实体框架内联SQL动态选择表名

Linq 实体框架内联SQL动态选择表名,linq,entity-framework,linq-to-entities,Linq,Entity Framework,Linq To Entities,我查询的是一个不太理想的数据库,奇怪的是,它不是将查找项存储在父子关系中,而是将它们存储在各个表中。例如,有一个国家表和一个国家表等等。 我无法更改数据库结构,记住这一点 我想创建一个方法,在这个方法中,我只需传入一个表名和一个字段名,就可以得到一个字符串列表,用于加载下拉列表。(我使用的是实体框架6.x) 然而,我画的是一片空白。任何帮助或指点都将不胜感激 提前感谢…您可以将SQL查询字符串与EF一起使用。只需告诉它您的退货类型: private List<string> getF

我查询的是一个不太理想的数据库,奇怪的是,它不是将查找项存储在父子关系中,而是将它们存储在各个表中。例如,有一个国家表和一个国家表等等。 我无法更改数据库结构,记住这一点

我想创建一个方法,在这个方法中,我只需传入一个表名和一个字段名,就可以得到一个字符串列表,用于加载下拉列表。(我使用的是实体框架6.x)

然而,我画的是一片空白。任何帮助或指点都将不胜感激


提前感谢…

您可以将SQL查询字符串与EF一起使用。只需告诉它您的退货类型:

private List<string> getFieldFromTable(string tableName, string fieldName)
{
    using (var db = new Context())
    {
        var strings = db.Database.SqlQuery<string>(string.Format("SELECT {0} FROM {1}",tableName, fieldName)).ToList();
        return strings;
    }

}
私有列表getFieldFromTable(string tableName,string fieldName)
{
使用(var db=new Context())
{
var strings=db.Database.SqlQuery(string.Format(“从{1}中选择{0}”,tableName,fieldName)).ToList();
返回字符串;
}
}

您可以将SQL查询字符串与EF一起使用。只需告诉它您的退货类型:

private List<string> getFieldFromTable(string tableName, string fieldName)
{
    using (var db = new Context())
    {
        var strings = db.Database.SqlQuery<string>(string.Format("SELECT {0} FROM {1}",tableName, fieldName)).ToList();
        return strings;
    }

}
私有列表getFieldFromTable(string tableName,string fieldName)
{
使用(var db=new Context())
{
var strings=db.Database.SqlQuery(string.Format(“从{1}中选择{0}”,tableName,fieldName)).ToList();
返回字符串;
}
}

您可以将SQL查询字符串与EF一起使用。只需告诉它您的退货类型:

private List<string> getFieldFromTable(string tableName, string fieldName)
{
    using (var db = new Context())
    {
        var strings = db.Database.SqlQuery<string>(string.Format("SELECT {0} FROM {1}",tableName, fieldName)).ToList();
        return strings;
    }

}
私有列表getFieldFromTable(string tableName,string fieldName)
{
使用(var db=new Context())
{
var strings=db.Database.SqlQuery(string.Format(“从{1}中选择{0}”,tableName,fieldName)).ToList();
返回字符串;
}
}

您可以将SQL查询字符串与EF一起使用。只需告诉它您的退货类型:

private List<string> getFieldFromTable(string tableName, string fieldName)
{
    using (var db = new Context())
    {
        var strings = db.Database.SqlQuery<string>(string.Format("SELECT {0} FROM {1}",tableName, fieldName)).ToList();
        return strings;
    }

}
私有列表getFieldFromTable(string tableName,string fieldName)
{
使用(var db=new Context())
{
var strings=db.Database.SqlQuery(string.Format(“从{1}中选择{0}”,tableName,fieldName)).ToList();
返回字符串;
}
}

小心此方法,因为它可能导致SQL注入攻击。小心此方法,因为它可能导致SQL注入攻击。小心此方法,因为它可能导致SQL注入攻击。小心此方法,因为它可能导致SQL注入攻击。