簡體   English   中英

實體框架未更新更改6

[英]Entity Framework not updating changes 6

Asp.net MVC不更新數據我有兩個表的關系1:M用戶與許多角色修改用戶時,它保存數據,但不更新角色

if (role != "Select Role")
{
   obj.Roles.Add(_context.Roles.FirstOrDefault(c => c.Name == role)); 
}
obj.UpdatedBy = System.Configuration.ConfigurationManager.AppSettings["UserDomain"] + Environment.UserName;
obj.UpdatedByDate = DateTime.Today;
_context.Entry(obj).State = obj.Id == 0 ? EntityState.Added : EntityState.Modified;
_context.SaveChanges();
return true;

讓我修改代碼------這是代碼兩個模型User和Role

public bool Update(User obj,string role)
{
    try
    {
          if (role != "Select Role")
        {
        obj.Roles.Add(_context.Roles.FirstOrDefault(c => c.Name == role));
        }
        obj.UpdatedBy = System.Configuration.ConfigurationManager.AppSettings["UserDomain"] + Environment.UserName;
        obj.UpdatedByDate = DateTime.Today;
        _context.Entry(obj).State = obj.Id == 0 ? EntityState.Added : EntityState.Modified;
        _context.SaveChanges();
        return true;
    }
    catch (Exception e)
    {


        return false;
    }
}

替換以下行:

obj.Roles.Add(_context.Roles.FirstOrDefault(c => c.Name == role));

與以下:

var Role = _context.Roles.FirstOrDefault(c => c.Name == role);
Role.User = obj;
_context.Entry(Role).State = EntityState.Modified;

這樣,它應該可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM