Действие по редактированию в ASP.NET MVC Controller не может обновить изменения в сущности Entity Framework - PullRequest
0 голосов
/ 26 апреля 2011

Итак, у меня есть представление, связанное с сущностью (tblOutreachSpecialist).Когда это представление отправляется обратно на сервер, оно отправляет обратно экземпляр этой сущности (опять же, сущность tblOutreachSpecialist) с записанными изменениями.

Однако у меня возникают трудности с сохранением этих изменений успешно.

У меня есть контекст сущности с областью действия для всего контроллера.

[AcceptVerbs(HttpVerbs.Post)] public RedirectToRouteResult eOS(DAL.tblOutreachSpecialist spec) {

        int id = spec.OSID;            
        tblOutreachSpecialist specold = ent.tblOutreachSpecialists.Where(c => c.OSID == id).FirstOrDefault();            
        specold = spec;
        specold.FirstName = spec.FirstName;
        specold.LastName = spec.LastName;
        specold.AreaCode = spec.AreaCode;
        specold.PhoneNumber = spec.PhoneNumber;
        specold.PhoneExtension = spec.PhoneExtension;
        specold.WirelessNumber = spec.WirelessNumber;
        specold.Fax = spec.Fax;
        specold.TTY = spec.TTY;
        specold.Email = spec.Email;
        specold.Mobile = spec.Mobile;
        specold.EmployeeStartDate = spec.EmployeeStartDate;
        specold.OSTargetGroup = spec.OSTargetGroup;
        specold.Location = spec.Location;
        specold.Username = spec.Username;
        specold.Domain = spec.Domain;
        specold.DateStamp = spec.DateStamp;
        ent.SaveChanges();
        return RedirectToAction("gOses");
    }

Я пытался просто приравнять два (specold = spec;);это не сработало.В результате я попытался сопоставить свойства явно.

Когда я вызываю SaveChanges (), он все равно не сохраняет изменения.

Я также пытался создать новый контекст в этомдействие, снова найти сущность и сохранить изменения.Не повезло снова.

Почему платформа Entity не воспримет это как изменение и сохранит его?

Ответы [ 2 ]

2 голосов
/ 26 апреля 2011

Вы пытались удалить specold = spec;?

0 голосов
/ 26 апреля 2011

Поэтому я переработал код и обнаружил, что IE 9 не отправляет запрос обратно на сервер (он написан с использованием Ajax.ActionLink).Так что это было сохранение, но когда я пошел, чтобы получить ту же запись, он извлекал старые значения, не заходя на сервер и не получая обновленную запись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...