관련 mvc 응용 프로그램에 관련 데이터가 많습니다. 관련 데이터의 편집/업데이트를 허용하는 메소드를 작성해야합니다. ViewModel 이 작업을 수행하는 방법을 작성하려고 시도했지만 올바르게 작동하지 못해서 내 접근 방식이 옳았는지 확실하지 않아 일부 지침을 얻고 싶었습니다. 여기 관련 데이터에 대한 편집 방법을 작성하는 방법
내 코드입니다 :컨트롤러 코드
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(FullVesselViewModel model)
{
var vessel = new tbl_vessels
{
vessel_idx = model.vessel_idx,
vessel_name = model.vessel_name
};
var vessel_spec = new tbl_vessel_spec
{
spec_idx = model.spec_idx,
bhp = model.bhp
}
using (var context = new dataEntities())
{
context.Entry(vessel).State = EntityState.Modified;
context.Entry(vessel_spec).State = EntityState.Modified;
context.SaveChanges();
return RedirectToAction("Index");
}
}
내 초기 것처럼 그 변수를 comitting, 내 뷰 모델을 선언 한 후 두 관련 기관을 분해 변수에 저장하는 것이 었습니다 수정 한 다음 내 변경 사항을 저장합니다. 위의 접근 방식은 동시성 오류를 반환합니다. 필드에 숨겨진 몇 개의 엔티티 인덱스를 저장하여 도움이되는지 확인했지만 운이 없었습니다.
보기
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.HiddenFor(model => model.vessel_idx)
@Html.HiddenFor(model => model.spec_idx)
...input fields etc ...
}
내 시나리오 이런 종류의에 대한 올바른 생각이나 내가 간단하게 할 수있는 뭔가를 설계를 통해 한인가?
다음과 SaveChanges를()에 트리거로 내가 오류는 다음과 같습니다에 대한 그 적절한 코드 &를 분석 한 후
Entity Framework: “Store update, insert, or delete statement affected an unexpected number of rows (0).”
모델 - 뷰 - 컨트롤러 태그 패턴에 대한 질문입니다 있습니다. ASP.NET-MVC 구현을위한 특정 태그가 있습니다. –
어떤 종류의 동시성 오류가 발생 했습니까? 보통 비슷한 경우에 람다 (lambda) 나 LINQ (LINQ) 쿼리에 의해 일치 된 데이터가 먼저 발견됩니다. 데이터가 존재하면 변경 내용을 DB에 저장하기 위해'this.UpdateModel'과'context.SaveChanges()'를 실행합니다. –
@TetsuyaYamamoto 위에 오류를 추가했습니다. – Yanayaya