0

我有一个列名列表。我想使用列名列表迭代获取的数据,那么我应该使用什么泛型类型来将获取的数据转换为?

编辑:

List<string> columns = new List<string>();
columns.Add("column1");
columns.Add("column2");
columns.Add("column3");

string joinColumns = string.Join(",", columns);
string sql = "select "+joinColumns+" from Table";

它只会获取选定的列,那么我将如何使用实体框架而不是使用 sql 查询来执行相同的功能?

提前致谢。帮助表示赞赏。

解决方案 -这在链接中是不可能的,因此可以替代此方法,我使用链接中描述的扩展方法将 List 转换为 DataTable - https://stackoverflow.com/a/5805044/1416033

List<string> columns = new List<string>();
columns.Add("column1");
columns.Add("column2");
columns.Add("column3");

List<Accounts> accountList = GetAccountList();
DataTable dt = accountList.ToDataTable<Accounts>();
foreach (DataRow dr in dt.Rows)
{
   foreach (string column in columns)
   {
      val = dr[column].ToString();
   }
}
4

1 回答 1

0

您所描述的内容不适用于本机 LINQ 功能。不过有一个图书馆,应该可以帮助你。查看动态 LINQ:http ://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx

于 2013-09-19T18:14:12.450 回答