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

时间:2015-02-26 17:43:03

标签: linq entity-framework linq-to-entities

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

我想创建一个方法,我只需传入表名和字段名,然后我得到一个可用于加载下拉列表的字符串列表。 (我正在使用Entity Framework 6.x)

但是我画了一个空白。任何帮助或指针将不胜感激。

提前致谢...

1 个答案:

答案 0 :(得分:3)

您可以在EF中使用SQL查询字符串。告诉它你的退货类型:

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

}