我的城市控制器中有类似的代码:
if (!ModelState.IsValid)
return BadRequest(ModelState);
var city = DbContext.Cities.SingleOrDefault(o => o.CityId == cityId);
DbContext.Entry(city).State = EntityState.Modified;
city.name = "test";
DbContext.SaveChanges();
城市有一个外国的关键。当它遇到SaveChanges时,它会出错,因为虚拟State实体上的属性都是null。如何让它不验证州实体?我特别没有在SingleOrDefault中包含州实体,因为它不相关。我想我可以加载它,但是当我只想编辑城市名称时,我必须加载所有相关的实体。我该如何解决这个问题?
答案 0 :(得分:0)
原来这是编辑继承错误。
我在我的城市模型中有这个:
public virtual State State { get; set; } = new State();
删除= new State()
就可以了。