我遇到了一个我从未见过的问题。从今天开始,一切都运行良好,我的代码不会保存一些更新。
我的代码在t_inscription.cs
中public void emailsent(t_inscriptions inscription = null)
{
if (inscription == null)
{
inscription = this;
}
inscription.id_etat_inscription = 5;
db.AcceptAllChanges();
db.SaveChanges();
}
当我调试时,应用程序通过此代码,对象铭文不为空并正确加载,其id_etat_inscription变为5,并且我没有收到任何错误消息。
但是当我去我的数据库时,我在5点没有这个id_etat_inscription的题词。
请注意,它是一个与表“t_etats_inscriptions”链接的外键,其中包含1到6的ID。
我错过了什么吗?
非常感谢=)
答案 0 :(得分:0)
试试这个
db.Entry<t_inscriptions >(inscription ).State = EntityState.Modified;
db.SaveChanges();
或
db.Entry(t_inscriptions).State = EntityState.Modified;
db.SaveChanges();
答案 1 :(得分:0)
我会把它放在这里,因为它解决了这个问题&#34;,
当我用
替换我的代码时public void emailsent(t_inscriptions inscription = null)
{
if (inscription == null)
{
inscription = this;
}
t_inscriptions inscription2 = db.t_inscriptions.FirstOrDefault(x => x.id == inscription.id);
inscription2.id_etat_inscription = 5;
inscription.id_etat_inscription = 5;
//db.Entry<t_inscriptions>(inscription).State = EntityState.Modified;
// db.t_inscriptions.Attach(inscription);
db.ObjectStateManager.ChangeObjectState(inscription2, EntityState.Modified);
// db.AcceptAllChanges();
db.SaveChanges();
}
有效:/