将数据插入数据库 - LINQ

时间:2015-06-11 17:06:26

标签: c# database linq

我的datagridview中有一些数据。我想使用LINQ从datagridview一次将所有数据插入到数据库中。但是,它无法插入。

这是我的代码:

DetailTransaction dt = new DetailTransaction();

for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
    dt.TransactionID = labelID.Text;
    dt.ProductID = dataGridView1.Rows[i].Cells[0].Value.ToString();
    dt.Quantity = int.Parse(dataGridView1.Rows[i].Cells[4].Value.ToString());
}

dc.DetailTransactions.InsertOnSubmit(dt);
dc.SubmitChanges();

谁能告诉我什么是正确的代码?

1 个答案:

答案 0 :(得分:1)

您需要填充DetailTransaction的集合,然后使用InsertAllOnSubmit,如:

List<DetailTransaction > list = new List<DetailTransaction>();

for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
    DetailTransaction dt = new DetailTransaction();
    dt.TransactionID = labelID.Text;
    dt.ProductID = dataGridView1.Rows[i].Cells[0].Value.ToString();
    dt.Quantity = int.Parse(dataGridView1.Rows[i].Cells[4].Value.ToString());
    list.Add(dt);
}
dc.DetailTransactions.InsertAllOnSubmit(list);
dc.SubmitChanges();

使用当前代码,最终会在数据库中插入一行,该行将保存dataGridView1

中最后一行的记录