1
我用下面的代码来更新从数据库中的某些记录:实体框架:更新的记录被插入(而不是更新)
IList<Item> list;
using (DbContext context = new DbContext()
{
list = Item.ToList();
foreach (Item item in list)
{
// attach the item
context.Item.Attach(item);
item.Updated = DateTime.Now;
context.Items.Add(item);
context.SaveChanges();
}
}
的问题是,EF被插入一个新的项目,而不是更新更新后的项目...我搜索了网站上的升技,看到了将该项目附加到DbContext的建议,但是那也不起作用?我究竟做错了什么?
嗨,我已经对我的答案做了一些改变:通常最好在'foreach'循环后面调用'SaveChanges',而不是在循环内部。 – Slauma 2012-04-06 12:40:16