我们不能将Owin和Entity framework 7一起添加。因为我们这样做,那么Microsoft.AspNet.Identity.core 2.0.0.0和Microsoft.AspNet.Identity 3.0.0 Beta1之间将存在不明确之处。AspNet.Identity 3.0.0 Beta1ASP.NET 5 MVC 6和Entity Framework 7问题
因此,我无法在我的应用程序中实现角色提供程序来管理用户角色。
面临这个问题后,我取出Owin引用和使用的UserManager Microsoft.AspNet.Identity 3.0.0和EF 7,但UserManager.AddToRoleAsync(用户,角色名)总是抛出异常,如下创建: -
InvalidOperationException:实体类型'Mozaics.DAL.Models.ApplicationUser'的实例无法跟踪,因为此类型的另一个 实例具有相同的密钥已被跟踪。对于 新实体考虑使用IIdentityGenerator生成唯一的 关键值。
代码片段是这样的。
public async Task<ActionResult> RoleAddToUser(string UserName, string RoleName)
{
var user = context.Users.Where(u => u.UserName.Equals(UserName, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault();
var result = await UserManager.AddToRoleAsync(user, RoleName);
ViewBag.ResultMessage = "Role created successfully !";
var list = context.Roles.OrderBy(r => r.Name).ToList().Select(rr => new SelectListItem { Value = rr.Name.ToString(), Text = rr.Name }).ToList();
ViewBag.Roles = list;
return View("ManageUserRoles");
}
在Microsoft.AspNet .Identity.Core库的方法是这样的 UserManager.AddRoleToUserAsync(User.Id,RoleName) – sanjaypujari 2015-04-05 15:22:26
你是否是亲属d足以向我们提供您的'project.json'以及您的项目属性中的运行时和'dnvm list'的输出。谢谢 – 2015-11-26 14:05:30