Обновление отдельного свойства объекта с использованием Entity Framework и ASP.NET MVC - PullRequest
2 голосов
/ 06 октября 2011

Я пытаюсь использовать Entity Framework в веб-приложении ASP.NET MVC.

Допустим, у меня есть сущность "люди", с некоторыми анаграфическими деталями.

У моего веб-приложения есть вид, где с помощью Ajax я могу менять свои данные по одному.

Например, я могу изменить только «имя» своей сущности, используя сообщение Ajax.

Как лучше всего реализовать метод в моем контроллере, чтобы выполнить это обновление для моей сущности "люди"? Я хотел бы создать общий метод обновления, а не конкретный метод для каждого отдельного свойства.

Спасибо за помощь

Ответы [ 2 ]

2 голосов
/ 06 октября 2011

Почему вы хотите это сделать?Просто передайте всю сущность и обновите ее, она все равно будет в вашей модели представления.

        [HttpPost]
        public ActionResult Edit(People people)
        {
            if (ModelState.IsValid)
            {
                db.Entry(people).State = EntityState.Modified;
                db.SaveChanges();
                return RedirectToAction("Index");
            }
            return View(people);
        }
2 голосов
/ 06 октября 2011
public ActionResult Update(int id, string propertyName, object propertyValue)
{
    using(var ctx = new Db())
    {
       var person = ctx.People.First(n => n.Id == id);
       Type t = person.GetType();
       PropertyInfo prop = t.GetProperty(propertyName);
       prop.SetValue(person, propertyValue, null);
       ctx.SaveChanges();
    }
    return Json(new { Success = true });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...