Existe-t-il un ModelBinder pré-construit que je peux utiliser avec LINQ pour obtenir un objet d'un DataContext et le mettre à jour sur un post HTTP?ASP.NET MVC, LINQ et ModelBinders
Par exemple, actuellement j'ai ce bloc de code:
[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 TERMINE appels à un contexte de données LINQ)
Afin de réaliser effectivement la mise à jour la base de données via le LINQ contexte de données, j'ai besoin d'obtenir l'instance de projet à nouveau, puis mettre à jour cette instance. Toute tentative de sauvegarde de l'instance du projet sans l'avoir obtenue du contexte de données n'a pour conséquence aucune réécriture dans la base de données. Je suppose que le contexte de données LINQ ne sait rien de l'objet. Il ne fait rien. avec ça.
L'utilisation de la méthode Attach sur la classe de la table Projects ne fonctionne pas non plus btw, elle déclenche une exception.
C'est tout à fait, merci Robert! – Kieron
SutekiShop a beaucoup de code génial, content que cela fonctionne pour vous. –