Я пытаюсь получить список всех пользователей с их ролями, используя LINQ.Приложение основано на Provider Membership 1, я полагаю, как я могу видеть из следующих строк конфигурации:
<membership defaultProvider="DefaultMembershipProvider">
<providers>
<add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="2" applicationName="/" />
</providers>
</membership>
<roleManager enabled="true" defaultProvider="DefaultRoleProvider">
<providers>
<add connectionStringName="DefaultConnection" applicationName="/" name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</providers>
</roleManager>
Мой запрос LINQ выглядит следующим образом:
var users = (from u in db.Users
join m in db.Memberships on u.UserId equals m.UserId
select new
{
m.Email,
u.UserName,
u.UserId,
m.IsLockedOut,
Roles = Roles.GetRolesForUser(u.UserName) //doesn't work
}).ToList();
Проблемазаключается в том, что Roles = Roles.GetRolesForUser (u.UserName) не работает как класс У ролей нет метода GetRolesForUser ()
Я даже не могу сделать свой запрос, используя UsersInRoles, так как эта таблица не отображается, как вы можете видеть ниже.