C#使用主键在数据库中保存值

时间:2015-10-30 12:23:12

标签: c# mysql entity-framework

CineStarEntities entities = new CineStarEntities();
Address address = new Address();
entities.Address.Add(address);
address.AccountID = (int)accountIDNumericUpDown.Value;
address.Street = streetTextBox.Text;
address.PostCode = postCodeTextBox.Text;
address.Place = placeTextBox.Text;
address.FirstName = firstNameTextBox.Text;
address.SecondName = secondNameTextBox.Text;
entities.SaveChanges();

我的主键也在NumericUpDown(addressIDNumericUpDown)中,现在我想用主键将这些值保存在数据库中?但主数据库已经存在于数据库中。那我该怎么办?(我想做一个更新功能)

2 个答案:

答案 0 :(得分:0)

如果主键已存在于数据库中,则无法将新数据插入数据库。主键是唯一的,不能重复。您可以明确删除该条目,然后重试。

答案 1 :(得分:0)

不是将实体添加到DbSet,而是将实体附加为已修改:

entities.Entry( address ).State = EntityState.Modified;