我有一个列名列表。我想使用列名列表迭代获取的数据,那么我应该使用什么泛型类型将获取的数据转换成?
编辑:
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();
}
}
答案 0 :(得分:0)
您所描述的内容不适用于本机LINQ功能。但是有一个图书馆,应该可以帮到你。查看Dynamic LINQ:http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx