![](/img/trans.png)
[英]How to get the data from aspnet_Membership, aspnet_Users and aspnet_UsersInRoles in aspnetDB?
[英]How to join aspnet_membership and aspnet_users using linq?
我很难弄清楚如何使用LINQ连接aspnet表。 所以这是我的询问。
如何联接这些aspnet表或如何使用LINQ / MVC获得这些aspnet表的确切列名或数据。3. aspnet_Membership,aspnet_Users,aspnet_UsersInRoles和aspnet_Roles。
一旦获得值或它们的列名,我将把它们连接到不同数据库中的其他两个表中。
这是我要转换为LINQ语句的sqlserver中的代码。
SELECT AU.UserId,
AU.UserName,
( MNTP.LastName + ',' + MNTP.FirstName + ' '
+ LEFT(MNTP.MiddleName, 1) + '.' ) Name,
AR.RoleName
FROM aspnetdb..aspnet_Membership AM
INNER JOIN aspnetdb..aspnet_Users AU
ON AM.UserId = AU.UserId
INNER JOIN aspnetdb..aspnet_UsersInRoles AUR
ON AU.UserId = AUR.UserId
INNER JOIN aspnetdb..aspnet_Roles AR
ON AUR.RoleId = AR.RoleId
INNER JOIN User_ManagementDB..MNT_Users MNTU
ON AU.UserId = MNTU.aspnet_UsersID
INNER JOIN User_ManagementDB..MNT_Person MNTP
ON MNTU.PersonID = MNTP.ID
这是我尝试将其转换为LINQ语句的代码:
var _rolesRepo = new RolesRepository();
var _users = LoadAll();// Um_MNT_Users
var _person = entities.People.ToList();// UM_Person
var _role = _rolesRepo.LoadAll();
var _userMem = Membership.GetAllUsers()
.Cast<MembershipUser>()
.Select(m => m).ToList(); // I dont know if this is the right syntax to get the aspnet_membership.
var _query = from user in _users
join personID in _person on user.PersonID equals personID.ID
请帮助我。
由于我看不到问题被Entity Framework
标记,因此我假设您无法使用该逻辑创建存储过程并在需要结果时调用它。
如果所有数据都在内存中,则可以使用以下查询:
var result = AspMemmership // the collection of data from aspnetdb..aspnet_Membership table
.Join(AspUsers, // the collection of data from aspnetdb..aspnet_Users table
m => m.UserId,
u => u.UserId,
(m, u) => u)
.Join(AspUsersInRoles,
u => u.UserId,
ur => ur.UserId,
(u, ur) => new
{
u.UserId,
u.UserName,
ur.RoleId
})
.Join(AspRoles,
x => x.RoleId,
r => r.RoleId,
(x, r) => new
{
x.UserId,
x.UserName,
r.RoleName
})
.Join(MNT_Users,
x => x.UserId,
u => u.aspnet_UsersID,
(x, u) => new
{
x.UserId,
x.UserName,
u.PersonId,
r.RoleName
})
.Join(MNT_Persons,
x => x.PersonId,
p => p.Id,
(x, p) => new
{
x.UserId,
x.UserName,
u.PersonId,
Name = String.Format("{0},{1} {2}.",
p.LastName, p.FirstName, p.MiddleName.Substring(0, 1)),
r.RoleName
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.