c# - 实体框架不更新更改 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;
让我修改代码-----这是代码两个模型用户和角色
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;
这样它应该可以工作。
推荐阅读
- java - 如何在java中存储对象并稍后检索它们?
- dart - 尝试遍历列表并在颤动中创建小部件时会创建一个空小部件
- java - 从带有参数的shellscript调用java
- java - 如何在不创建对它的引用的情况下实例化会话范围的 bean?
- angular - Azure Application Insights 实现 angular6
- amazon-web-services - 使用 Lambda 将新创建的主键值发送回应用程序
- ios - 将 JSON 数据导出到文本字段的问题
- bash - 当我们的代码在 bash 中执行时,如何在命令提示符中显示加载状态?
- google-cloud-platform - DataProc Presto 会自动拾取新节点吗?
- c# - 子字符串问题 - 输入字符串的格式不正确