Моя проблема в том, что я пытаюсь сделать представление двумя Html.RenderAction. В нем говорится: «Операция не может быть завершена, потому что DbContext был удален».Html.RenderAction в MVC с EntityFramework
меня Ninject настроена таким образом:
Bind<IUnitOfWork>().To<UnitOfWork>().InRequestScope;
Но если я в пути по умолчанию ...
Bind<IUnitOfWork>().To<UnitOfWork>()
нет никакой ошибки.
Мне нужно работать с ним в RequestScope (так я думаю), но как я могу это сделать? Похоже, что когда второй Html.RenderAction называется предыдущим DbContext, он настроен!
ОБНОВЛЕНО:
Это основной вид (суммированы для краткости)
@model FoodAway.Model.Product
@Html.ValidationSummary(true)
<fieldset>
<legend>Producto</legend>
@using (Html.BeginForm())
{
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
@Html.HiddenFor(model => model.Id)
<p>
<input type="submit" value="Guardar" />
</p>
}
<fieldset>
<div class="editor-label">
@Html.LabelFor(model => model.Ingredients)
</div>
<div class="editor-field">
@{Html.RenderAction("IngredientsToRemoveList", "Ingredients");}
</div>
</fieldset>
<fieldset>
@{Html.RenderAction("IngredientsToAddList", "Ingredients");}
</fieldset>
</fieldset>
и его контроллер/действие:
public ActionResult EditProduct(string name)
{
Product product = unitOfWork.ProductRepository.Get(i => i.Name ==name).FirstOrDefault();
if (product == null)
return HttpNotFound();
return View(product);
}
Таким образом, ошибка в DbContext, когда у меня это 2 метода RenderAction, странная вещь, если у меня только 1 RenderAction нет проблем !!!!!
ли вы когда-нибудь найти решение этой проблемы? Я столкнулся с такой же точной проблемой. –