我将尝试编写一个通用方法,将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 row)方法?
有人能向我展示如何使用Func作为其中一个参数,以便我可以传递一些映射信息吗?