나는 다음과 같은 방법을 사용하여 MVC 웹 응용 프로그램이 (때로는) 업데이트하지 않음 :LINQ는
public class MyController : Controller
{
public FooRepository fooRepository = new FooRepository();
public BarRepository barRepository = new BarRepository();
public ActionResult UpdateItems(int id, int range1, int range2)
{
Foo foo = fooRepository.GetItem(id);
List<Bar> bars = barRepository.GetItemsByRange(range1, range2);
// Some validation rules here...
DoSomeWork(foo, bars);
// Show confirmation/error message
}
private void DoSomeWork(Foo foo, List<Bar> bars)
{
foreach(int i = 0; i < bars.Count; i++)
{
bars[i].Prop1 = foo.Prop1; // This field is updated
bars[i].Owner = "someuser"; // This one too
bars[i].Status = BarStatus.SomeStatus; // This isn't...
}
foo.Status = FooStatus.SomeStatus; // Ok
// Calls DataContext.SubmitChanges()
fooRepository.SubmitChanges();
barRepository.SubmitChanges();
}
}
그러나 일부 "임의"가지 경우 (내가 어떤 패턴을 참조), 하나 의견에 언급 된대로 필드의 업데이트되지 않습니다.
LINQ가 필드의 업데이트를 인식하지 못하는 것 같아 생성 된 쿼리에서 제외됩니다.
아무에게도 내가 뭔가를 놓치고 있다고 말할 수 있습니까? 그 원인이 무엇일 수 있으며 어떻게 해결할 수 있습니까?
참고 : 예외가 발생하지 않으며 개발 시나리오에서이 사례를 확인할 수 없습니다.
실제 코드를 복사하여 붙여 넣을 수 있습니까? –