我正在嘗試編寫一個將DataTable轉換爲強類型對象列表的泛型方法。將DataTable轉換爲強類型對象列表
是我與迄今使用的代碼...
public List<T> ImportTable<T>(String fileName, String table)
{
//Establish Connection to Access Database File
var mdbData = new ConnectToAccess(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\ACCESS\" + fileName + ".mdb;");
var tableData = new List<T>();
foreach (DataRow row in mdbData.GetData("SELECT * FROM " + table).Rows)
{
tableData.Add(ConvertRowToType<T>(row));
}
return tableData;
}
public T ConvertRowToType<T>(DataRow row)
{
//??? What is the best thing to do here ???
}
我不迷戀上這個代碼,如果任何人的建議,將需要改變它。
所以我們可以說我調用該函數傳入型...
public class mdbConcern
{
public Int32 ConcernId { get; set; }
public String Concern { get; set; }
}
和數據回來DataTable中的樣子......
ConcernID Concern
1 Law and Ethics
2 Mail
3 Business English
... ...
什麼是最好的實現ConvertRowToType(DataRow行)方法的方法?
有人能告訴我如何使用Func作爲參數之一,所以我可以傳遞一些映射信息?
可能的重複http://stackoverflow.com/q/441023/490018,http://stackoverflow.com/q/5856634/490018。 – 2012-02-08 18:48:14