2016-05-06 6 views
0

Ich habe Code ähnlich wie dies in meinem Städte Controller:EF6 von Validierung verbundenen Unternehmen

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

City hat eine foriegn Key State. Wenn es auf SaveChanges trifft, tritt ein Fehler auf, da die Eigenschaften der Entität virtueller Status alle null sind. Wie bekomme ich es, die staatliche Einheit nicht zu validieren? Ich habe speziell die Statuseinheit nicht in den SingleOrDefault aufgenommen, da dies nicht relevant ist. Ich nehme an, ich könnte es laden, aber dann müsste ich alle verwandten Entitäten laden, wenn ich nur den Namen der Stadt bearbeiten möchte. Wie behebe ich das?

Antwort

0

Es stellte sich heraus, dass es sich um einen Editor-Vererbungsfehler handelte.

Ich hatte in meinem Städte Modell:

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

die = new State() hat den Trick entfernen.