У меня есть это в моем MVR ActionResult
[HttpPost]
public ActionResult _ChangeDetails( [Bind(Prefix="ContactDetails")] userDetail UserDetail )
{
MemberChangeDetailsFormViewModel fvm = new MemberChangeDetailsFormViewModel();
if (ModelState.IsValid)
{
//save
UserDetailRepository repository = new UserDetailRepository();
repository.Save(UserDetail);
return RedirectToAction("Index", "Member");
}
fvm.ContactDetails = UserDetail;
return View(fvm);
}
Затем в моем хранилище у меня есть;
if (userDetail.id != Guid.Empty)
{
userDetail orig = dc.userDetails.Where(x => x.id == userDetail.id).Single();
dc.userDetails.Attach(userDetail, orig);
dc.Refresh(System.Data.Linq.RefreshMode.KeepCurrentValues, userDetail);
dc.SubmitChanges();
}
Однако «присоединение» генерирует ошибку; Невозможно добавить объект с ключом, который уже используется.
Я понимаю, что это вызвано тем, что к L2S уже подключен объект.Я пытался сделать это с и без объекта orig, но получаю одно и то же сообщение.
Что было бы лучшим способом обновить данные в таблице из модели?