0
就像標題所說,我做了一次成功的更新,但它不會像用戶角色或其他任何方式保存關係。當我添加用戶(在我的情況下)與角色和所有,但更新不起作用,這是唯一的關係,其他所有更新。我也有其他對象的這個問題。有沒有人有任何想法,爲什麼它不會保存關係,如果它更新更改?我也發佈了一些代碼,但我有一種感覺,這裏並不重要。我想我只是想念一些簡單的東西。使用EF4代碼更新模型時不會保存關係
if (ModelState.IsValid)
{
//hämta användaren och redigera parametrar
var user = _userService.GetById(viewModel.User.Id);
viewModel.User.Roles = user.Roles;
//kolla språken
if (viewModel.CultureSelected != null)
{
foreach (var item in viewModel.CultureSelected)
{
viewModel.User.LanguageCultures.Add(_languageCultureService.GetById(item));
}
}
//updatera och spara
TryUpdateModel(user, "User");
_userService.Save();
ViewData[Message] = "";
return RedirectToAction("Lista");
}
編輯
在這種情況下,我最終直接添加Languagecultures
到user
代替viewmodel.user
:
public ActionResult Redigera(AdminUserAddViewModel viewModel)
{
//kolla om state är valid
if (ModelState.IsValid)
{
//hämta användaren och redigera parametrar
var user = _userService.GetById(viewModel.User.Id);
//kolla språken
if (viewModel.CultureSelected != null)
{
foreach (var item in viewModel.CultureSelected)
{
user.LanguageCultures.Add(_languageCultureService.GetById(item));
}
}
//updatera och spara
TryUpdateModel(user, "User");
_userService.Save();
ViewData[Message] = "";
return RedirectToAction("Lista");
}
viewModel.CultureSelectList = CutlureSelectList(_languageCultureService.GetAll());
return View(viewModel);
}