首页 > 解决方案 > 如何使该方法在一个列表中使用来自不同表和字段的值填充列表?

问题描述

我想创建一个方法,lst_List用来自各种表和字段的行填充列表。
代码的初步版本:

cntDB = new ContextDB();
 List<List<string>> lst_List = new List<List<string>>();
 public void Method_2(string nameTable, string nameField)
        {
            var phones = cntDB.Database.ExecuteSqlCommand("SELECT " + nameField + " FROM " + nameTable); // +-
            lst_List.AddRange(phones.ToList());
        }

 

如何使该方法在一个列表中使用来自不同表和字段的值填充列表?

标签: c#entity-framework

解决方案


ExecuteSqlCommand返回int非结果集,主要用于非 SELECT 命令(例如 INSERT、UPDATE、DELETE)。改用SqlQuery

cntDB = new ContextDB();
 List<string> lst_List = new List<string>();
 public void Method_2(string nameTable, string nameField)
        {
            var lst_List = cntDB.Database.SqlQuery<string>("SELECT " + nameField + " FROM " + nameTable).ToList();
        }

您没有List<List<string>>这种方式,但我看不出您将如何根据您的 SQL 语句从单个平面查询中填充该类型?


推荐阅读