Это потому, что вы не делаете «добавление» до тех пор, пока не выйдете из цикла. Таким образом, он просто запускается один раз и использует значение grp
, как это было в последний раз, когда выполнялся цикл. Вам нужно сделать одно «Добавить» для каждого элемента (потому что каждое «добавление» создает одну строку), поэтому, по сути, «добавить» должно быть внутри цикла, и вы также должны каждый раз объявлять grp
как свежий объект. (SaveChanges может остаться вне цикла, если вам интересно).
foreach (ListItem item in comboGroup.Items)
{
if (item.Selected)
{
var grp = new group_user();
grp.username = comboUserName3.SelectedValue.ToString();
string selectedItem = item.Value.ToString();
int val = int.Parse(selectedItem);
grp.groupid = val;
//grp.iscurrent = true;
grp.dateadded = DateTime.Now;
db.group_user.Add(grp);
}
}
db.SaveChanges();