MVC3 Linq обновляет две таблицы с данными из одной модели - PullRequest
1 голос
/ 06 декабря 2011

Используя первый подход к базе данных и Linq, если у меня есть строго установленная модель заполнения для моего представления, и следующий код, который передает отредактированную заливку и обновляет мою таблицу заполнения в базе данных, есть ли способ обновить связанные Таблица rx также без необходимости создания модели представления, которая имеет доступ к заливкам и rxs? Я новичок в Linq и до сих пор не смог заставить его работать.

[HttpPost]
public ActionResult Edit(Fill fill)
{
    if (ModelState.IsValid)
    {
        db.Fills.Attach(fill);
        db.ObjectStateManager.ChangeObjectState(fill, EntityState.Modified);
        db.SaveChanges();
        return RedirectToAction("Index");
    }
    ViewBag.Rx_ID = new SelectList(db.Rxes, "Rx_ID", "DEA_Number", fill.Rx_ID);
    return View(fill);
} 

1 Ответ

0 голосов
/ 07 декабря 2011

Исходя из вашего комментария и предполагая, что Fill является законченным объектом (т. Е. Включая его идентификатор записи и связанные навигационные идентификаторы), и предполагая, что у вас есть внешние ключи и навигационные свойства, тогда вы должны просто иметь возможность использовать навигационные свойство сделать это.

[HttpPost]
public ActionResult Edit(Fill fill)
{
    if (ModelState.IsValid)
    {
        db.Fills.Attach(fill);
        db.ObjectStateManager.ChangeObjectState(fill, EntityState.Modified);
        fill.Rx.status = "Filled"; // or whatever the status is
        db.SaveChanges();
        return RedirectToAction("Index");
    }
    ViewBag.Rx_ID = new SelectList(db.Rxes, "Rx_ID", "DEA_Number", fill.Rx_ID);
    return View(fill);
}

Выше предполагается, что Rx имеет статус заполнения 1: 1, если он равен 1: M, чем вам нужно будет использовать некоторое количество linq для получения нужной записи.

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