Есть ли готовый ModelBinder, который я могу использовать с LINQ, чтобы получить объект из DataContext и обновить его на HTTP-сообщении?ASP.NET MVC, LINQ и ModelBinders
К примеру, в настоящее время у меня есть этот блок кода:
[AcceptVerbs (HttpVerbs.Post)]
public ActionResult Edit (Project project)
{
var projectService = Factory.GetService<IProjectService>();
project = projectService.GetProject (project.ProjectId);
UpdateModel<Project> (project);
if (!ModelState.IsValid)
return View (project);
project = projectService.SaveProject (project);
return RedirectToAction ("Details", new { id = project.ProjectId });
}
(IProjectService оборачивает вызовы в контексте данных LINQ)
Для того, чтобы фактически выполнить обновление базы данных с помощью LINQ данных, мне нужно снова получить экземпляр проекта, а затем обновить этот экземпляр.
Любая попытка простого сохранения экземпляра проекта без предварительного получения из контекста данных приводит к тому, что ничего не записывается в базу данных - я предполагаю, что контекст данных LINQ ничего не знает об объекте, который он ничего не делает с этим.
Использование метода Attach в классе Table Projects не работает ни btw, но и создает исключение.
Вот именно, спасибо, Роберт! – Kieron
SutekiShop имеет много отличного кода, рад, что он работает на вас. –