だから私はモデルを更新しようとしています。私のモデルの設定方法は次のとおりです。
public class Event{
public int Id {get;set;}
public string Name {get;set;}
public DateTime Date {get;set;}
public int Organizerid {get;set;}
public virtual User Organizer {get;set;}
}
public class Organizer{
public int Id {get;set;}
public string Name {get;set;}
pubilc virtual iCollection<Event> Events {get;set;}
}
通常のイベントを返すたびにループエラーがスローされ、プルアップする各モデルにあるすべての仮想で [JsonIgnore] を使用する必要があるため、イベント (EventViewModel) の ViewModel を作成しました。また、Web API が現在のモデルについて多くの情報を返すのを防ぎます。いらない情報。
私のViewModel
public class EventVM {
public string Name {get;set;}
public DateTime Date {get;set;}
}
そうは言っても、これが私がPUTを処理した方法です
[HttpPut]
public HttpResponseMessage Put(int eventId, EventVM event)
{
if (ModelState.IsValid && eventId== event.Id)
{
try
{
Event upEvent = dbcontext.Event.FirstOrDefault(e => e.Id == eventId);
upEvent.Name = eventVM.Name;
upEvent.Date = eventVM.Date;
dbcontext.SaveChanges();
return Request.CreateResponse(HttpStatusCode.OK);
}catch(Exception ex){
return Request.CreateResponse(HttpStatusCode.BadRequest);
}
}
else
{
return Request.CreateResponse(HttpStatusCode.BadRequest);
}
}
私の問題は、更新を保存していないことです。TryUpdateModel を実行しますが、WebApi では使用できないようです。ヘルプ!考え?