我目前有一个来自excel工作簿的填充数据表,我试图将其插入到我的数据库中。
我的数据库中的数据表和表都具有匹配的结构。
IE:匹配类型,列和元素顺序
我有一个代表我在数据库中的实体的类,它看起来像这样:
public class MyObject
{
public int ID {get; set;}
public string Name {get; set;}
public string GUID {get; set;}
}
根据我从here收集的内容,我应该能够执行以下操作,将我创建的数据表转换为基于MyObject的对象列表。
public List<MyObject> ConvertDataTable(Datatable tbl)
{
List<MyObject> results = new <MyObject>();
foreach(DataRow row in tbl.Rows)
{
MyObject convertedObject = ConvertRowToMyObject(row)
results.Add(convertedObject);
}
return results
}
链接的帖子还表明,将单行转换为正确的对象数据类型是必要的,但它已经从MyObject继承了吗?
public MyObject ConvertRowToMyObject(DataRow row)
{
MyObject result = new MyObject();
// Here the above post shows assigning properties of MyObject from the
// DataRow
result.ID = row.GetString(1);
result.GUID = row.GetInt32(0);
result.Name = row.GetString(1);
// I haven't been able to get 'GetInt' or 'GetString' to work properly,
// but doesn't each property already have the correct type from
// MyObject?
return result;
}
在插入数据之前,有一种方法可以枚举列中的所有项目,例如 -
foreach(DataColumn col in tbl.Columns)
但是可以根据单个列中包含的值迭代,操作和返回数据?