EF4.1 で ASP.NET-MVC3 のナビゲーション プロパティを使用してエンティティを編集しようとしています。
私のモデル:
[DataContract]
public class Event
{
[Key]
public int ID { get; set; }
public string Name { get; set; }
public Place Place { get; set; }
}
[DataContract]
public class Place
{
[Key]
public string ID { get; set; }
public string Name { get; set; }
}
私のデータコンテキストクラス:
public class myDB: DbContext
{
public DbSet<Event> Events { get; set; }
public DbSet<Place> Places { get; set; }
}
私のコントローラーポスト編集方法:
[HttpPost]
public ActionResult Edit(Event @event, string placeID)
{
if (ModelState.IsValid)
{
@event.Place = _db.Places.Find(placeID);
_eventoDB.Entry(@event).State = EntityState.Modified;
_eventoDB.SaveChanges();
return RedirectToAction("Index");
}
return View(@event);
}
@event
場所がnullから新しい場所に変更されたことがわかりますが@event.Place = _db.Places.Find(placeID);
、SaveChanges
場所IDは編集前と同じままです。理由はありますか?ありがとう