我正在创建角色,但描述不会更新。
我尝试过两种方式:
首先:
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();
}
奇怪的是,当用户使用其他操作编辑一个isady创建的角色并且工作正常时,第二种方式是我使用的方式。
第一个用于创建角色并更新其描述的方法,因为.NET中不支持描述。
答案 0 :(得分:1)
问题在于您的查询语句
var query = from r in context.aspnet_Roles where r.RoleName == r.RoleName select r;
“r.RoleName == r.RoleName”,它将始终为true并返回所有条目。查询应该类似于第二个查询中的查询
r => r.RoleName == roleModel.RoleName