使用identity?系統(tǒng)會默認生成?User、Role?和UserRole三張表,但是我在User表中加了CompanyId字段。我想查詢當前?CompanyId是001的Role?是?01(admin)的所有用戶。如果是Sql直接就:select?*?from?user,userrole?where?user.userid=userrole.userid?and?user.companyid="001"?and?userrole.roleid="01"?就好了。但是由于小弟剛剛接觸MVC比較愚鈍,用linq不管怎么試都不行。我把我試的代碼貼在下面:嘗試一:?AppRole?role?=?RoleManager.FindById("R02");var?users?=?UserManager.Users.Where(u?=>?u.Roles=?role?&&?u.Company="001"?);嘗試二:var?users=?UserManager.Users.Where(u?=>?u.Roles.SingleOrDefault().RoleId?=?"01"?&&?u.Company="001"?)AppRole?類:????public?class?AppRole?:?IdentityRole????{????????public?AppRole()?:?base()?{?}????????public?AppRole(string?name)?:?base(name)?{?}????}AppUser?類:????public?class?AppUser?:?IdentityUser????{????????//?這里將放置附加屬性????????public?AppUser()?:?base()?{?}????????[Required]????????public?int?CompanyId?{?get;?set;?}????????public?virtual?Company?Company?{?get;?set;?}????}AppUserRole類?:????public?class?AppUserRole:IdentityUserRole????{????????public?AppUserRole()?:?base()?{?}????}
3 回答

習慣受傷
TA貢獻885條經驗 獲得超1144個贊
u => u.Roles= role && u.Company="001"
這種邏輯判斷用==而不是=,也就是寫成這樣:
u => u.Roles== role && u.Company=="001"
- 3 回答
- 0 關注
- 2701 瀏覽
添加回答
舉報
0/150
提交
取消