【发布时间】:2018-02-09 18:49:23
【问题描述】:
我的代码
tbl_Birthday tblB = new tbl_Birthday();
string today = "01/10/2018";
var query = from a in db.tbl_users.ToList() where a.birthday == today select a;
if (query.Count() > 0)
{
foreach (var a in query.ToList())
{
tblB.name = a.name;
tblB.score = a.core;
}
db.tbl_Birthdays.InsertOnSubmit(tblB);
db.SubmitChanges();
}
dataGridView1.DataSource = from a in db.tbl_Birthdays select a;
这只会将一条记录返回到我的 DataGridView 中,但我有不止一条符合此条件的记录
【问题讨论】:
-
可能将插入移动到 for 循环中?目前你遍历列表,只设置名称和分数,如果你有
tblB.name = query.LastOrDefault()?.name和tblB.name = query.LastOrDefault()?.score -
谢谢,我有不止一个符合条件的记录。如果可能的话,请为我描述我该如何解决它
-
您需要将
SubmitChanges移动到foreach循环内。目前您的foreach循环只是一遍又一遍地设置name和score属性,直到它退出。然后在单个项目上调用SubmitChanges。