使用Entity Framework将数据表插入数据库

时间:2016-07-06 14:20:31

标签: c# mysql entity-framework datatable

我目前有一个来自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)

但是可以根据单个列中包含的值迭代,操作和返回数据?

0 个答案:

没有答案