簡體   English   中英

如何通過列名實體框架linq獲取值?

[英]How to get value by column name entity framework linq?

我有一個列名列表。 我想使用列名列表來迭代獲取的數據,那么我應該使用哪種通用類型將獲取的數據轉換為?

編輯:

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

您所描述的內容不適用於本機LINQ功能。 雖然有一個圖書館,應該可以為您提供幫助。 查看動態LINQ: http : //weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM