【发布时间】:2017-03-27 15:00:30
【问题描述】:
我对此问题进行了一些搜索,并遇到了一些关于从数据库生成时 AspNetUserRoles 不在 EDMX 设计器中的问题。但是它在 ModelBrowser 中,我无法显示此表,因此我可以使用角色授权。
当我在角色类中点击此方法时
public override string[] GetRolesForUser(string username)
{
DTE = new DatabaseTestingEntities();
string userID = DTE.AspNetUsers.Where(w => w.Email == username).Select(s => s.Id).FirstOrDefault();
string roleID = DTE.AspNetUsers.Include("AspNetRoles").Where(s => s.Id == userID).FirstOrDefault().ToString();//.AspNetUserRoles.Where(w => w.UserId == userID).Select(s => s.RoleId).FirstOrDefault();
string roleName = DTE.AspNetRoles.Where(w => w.Id == roleID).Select(s => s.Name).FirstOrDefault();
string[] results = { roleName };
return results;
}
结果总是返回为空..
但是它应该看起来像这样
public override string[] GetRolesForUser(string username)
{
DTE = new DatabaseTestingEntities();
string userID = DTE.AspNetUsers.Where(w => w.Email == username).Select(s => s.Id).FirstOrDefault();
string roleID = DTE.AspNetUserRoles.Where(w => w.UserId == userID).Select(s => s.RoleId).FirstOrDefault();
string roleName = DTE.AspNetRoles.Where(w => w.Id == roleID).Select(s => s.Name).FirstOrDefault();
string[] results = { roleName };
return results;
}
但是这种方式会引发错误,因为当我从数据库生成 EF 时,AspNetUserRoles 不在 EDMX 设计器中。
我怎样才能让这个表格出现,以便我可以继续我需要做的事情?
我已尝试更新 EDMX,但也没有用。
【问题讨论】:
标签: entity-framework asp.net-identity edmx user-roles