0

我正在创建角色,但描述没有更新。

我尝试了两种方式:

第一的:

Roles.CreateRole(model.RoleName);                      
using (tgpwebgedEntities context = new tgpwebgedEntities())
{
  var query = from r in context.aspnet_Roles where r.RoleName == r.RoleName select r;
   var obj = query.First();
   obj.Description = model.Description;
   context.SaveChanges();
}

第二:

using(tgpwebgedEntities context = new tgpwebgedEntities()) {
   var obj = context.aspnet_Roles.Single(r => r.RoleName == roleModel.RoleName);
   obj.Description = roleModel.Description;
   context.SaveChanges();
}

奇怪的是,当用户使用另一个操作编辑区域创建的角色并且工作正常时,第二种方式是我使用的方式。

这首先用于创建角色并更新其描述的方法中,因为 .NET 中不支持描述。

4

1 回答 1

1

问题在于您的查询语句,

var query = from r in context.aspnet_Roles where r.RoleName == r.RoleName select r;

"r.RoleName == r.RoleName" 将始终为真并返回所有条目。查询应该类似于您在第二个查询中的内容

r => r.RoleName == roleModel.RoleName
于 2012-12-04T02:50:23.853 回答