2016-05-06 105 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()奏效了。