http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/implementing-basic-crud-functionality-with-the-entity-framework-in-asp-net-mvc- применение

я есть 2 проекта - библиотека классов, содержащая модель EDM Entity Framework и отдельный проект ASP.NET MVC.

У меня проблемы с тем, как вы предполагаете редактировать и сохранять изменения в сущности, используя MVC. В моем контроллере у меня есть:

public class UserController : Controller
    {
        public ActionResult Edit(int id)
        {
            var rep = new UserRepository();

            var user = rep.GetById(id);

            return View(user);
        }

        [HttpPost]
        public ActionResult Edit(User user)
        {
            var rep = new UserRepository();

            rep.Update(user);

            return View(user);
        }
    }

мойUserRepository имеет метод обновления, как это:

public void Update(User user)
{
     using (var context = new PDS_FMPEntities())
     {
         context.Users.Attach(testUser);
         context.ObjectStateManager.ChangeObjectState(testUser, EntityState.Modified);
         context.SaveChanges();
     }
}

Теперь, когда я нажимаю «Сохранить» на странице редактирования пользователя, параметрuser содержит только два значения: Id и FirstName. Я так понимаю, это связано с тем, что я отображаю только эти два свойства в представлении.

Мой вопрос заключается в следующем: если я обновляю имя пользователя, а затем хочу сохранить его, что я должен делать с другимUser свойства, которые не были показаны в представлении, поскольку теперь они содержат 0 или значения NULL вuser объект?

Я много читал об использовании объектов-заглушек, но быстро никуда не делся, поскольку ни один из примеров, которые я видел, на самом деле не работает. то есть я продолжаю получать исключения, связанные с EntityKey.

Может кто-нибудь указать мне хороший учебник / пример того, как обновить сущности EF 4, используя класс репозитория, вызываемый внешним интерфейсом MVC?

Ответы на вопрос(6)

Ваш ответ на вопрос