2016-05-06 88 views
0

防止EF6我在我的城市控制器类似下面的代码:从验证相关实体

 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(); 

市有foriegn关键国家。当它遇到SaveChanges时,它会出错,因为虚拟状态实体上的属性全为空。我如何得到它不验证国家实体?我没有在SingleOrDefault中包含状态实体,因为它不相关。我想我可以加载它,但是当我只想编辑城市名称时,我必须加载所有相关的实体。我该如何解决?

回答

0

原来是编辑器继承错误。

我在城市模型具有这样的:

public virtual State State { get; set; } = new State(); 

卸下= new State()奏效了。