c#System.Data.Entity.Infrastructure.DbUpdate插入新记录时发生异常
本文关键字:异常 新记录 插入 Data Entity Infrastructure DbUpdate c#System | 更新日期: 2023-09-27 18:28:28
我在应用程序中创建了一个导入系统。
我从上传一个JSON开始,这个JSON作为字符串从我的web服务接收,然后转换为一个名为tpp
的对象(我已经检查过了,我的对象已经正确创建和填充)。
然后我在我的数据库中做一些插入:
db.States.Add(tpp);
db.SaveChanges();
它运行良好。然后,tpp
包含cities
,所以我使用这个代码:
foreach (City curCity in tpp.Cities)
{
db.Cities.Add(curCity);
db.SaveChanges();
}
在该db.SaveChanges()
中,我接收关于保存外键的System.Data.Entity.Infrastructure.DbUpdateException
。
城市包含一个街道列表(在我的城市类中为List<Street> Streets
),但我稍后将它们保存在另一个表中,州也包含一个城市列表,但它没有抛出异常。
那么,当我在foreach循环中添加一个城市时,为什么我的代码会返回一个异常呢?
如果POCO和传入JSON上的数据结构正确,则不必手动添加子项。从你的代码来看,它似乎是这样的。所以,只要http.Citys.Streets…等等被填充,只要添加http就可以处理所有事情。