0
是否有任何快速的方法來創建一個數據集中的表格,並用IQueryable中的模式填充它(數據不是來自EF或Linq2Sql)?我需要這個將網格綁定到我的數據。如何使用IQueryable中的數據填充數據集?
感謝, 羅伊
是否有任何快速的方法來創建一個數據集中的表格,並用IQueryable中的模式填充它(數據不是來自EF或Linq2Sql)?我需要這個將網格綁定到我的數據。如何使用IQueryable中的數據填充數據集?
感謝, 羅伊
可以使用System.Data.Linq.DataContext類的翻譯功能設置爲「自動」一表映射到類。
有一個例子:
using System.Data.Linq;
using System.Data.SqlClient;
string cnnStr = "YourConnectionString";
DataContext dc = new DataContext(cnnStr);
SqlConnection sqlCnn = (SqlConnection) dc.Connection;
sqlCnn.Open();
SqlCommand sqlCmd = new SqlCommand("select ID, Name, [Date] From test", sqlCnn);
SqlDataReader sqlDr = sqlCmd.ExecuteReader();
var result = dc.Translate<clsRow>(sqlDr);
foreach(clsRow row in result)
{
Console.Write(row.ID);
Console.Write(row.Name);
Console.Write(row.Date);
}
在這種情況下,你需要一個名爲Test 3列的表:ID,名稱和測試 ,也稱爲clsRow在.net中具有相同屬性的類名的表格列。
public class clsRow
{
public int ID { get; set; }
public string Name { get; set; }
public DateTime Date { get; set; }
}
你是如何得到IQuerable的? – Jeremy 2009-05-08 20:21:33
我在解析「用模式填充它」時遇到問題。你的意思是說你的IQueryable中的對象的模式在設計時是未知的嗎?即您必須創建一個DataTable,其中包含從IQueryable中的對象類型運行時計算出的列,然後將數據從IQueryable加載到DataTable中? – 2009-05-08 20:58:22