【发布时间】:2017-04-04 19:23:55
【问题描述】:
我正在尝试更新我的数据库。在 db.SaveChanges() 处出现异常“在 EntityFramework.dll 中发生‘System.Data.Entity.Infrastructure.DbUpdateException’类型的异常,但未在用户代码中处理”。
我从“Ekipa”表中获取最后一个 id,并将新 id 设置为“value + 1”。我设置了从表单中获得的所有属性。然后我设置了currentUser的foreignKey,和新的entry id一样。我将状态设置为已修改,但仍然出现错误。有人看到它有什么问题吗?它曾经工作正常,但我最近将 foreignKey 从 be 和 "int" 更改为 "int?" (所以它现在可以为空)。是这个问题,还是我在这里遗漏了什么?
int value = int.Parse(db1.Ekipa
.OrderByDescending(p => p.id)
.Select(r => r.id)
.First().ToString());
int geslo = 0;
int NovaId = value;
Int32.TryParse(EkipaGeslo, out geslo);
Ekipa nova = new Ekipa();
nova.id = value + 1;
nova.Ime = EkipaIme;
nova.Geslo = geslo;
nova.LeaderID = currentUser.AccountID;
currentUser.EkipaId = nova.id;
db.Entry(currentUser).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();
db1.Ekipa.Add(nova);
db1.SaveChanges();
【问题讨论】:
-
显然我的“Ekipa”表不知何故被删除了,没有什么令人耳目一新的东西。通过重新创建来修复它。
标签: c# entity-framework