【发布时间】:2011-02-01 11:33:49
【问题描述】:
我使用 EF 4 和随 ASP.Net 4.0 提供的 Membership Provider。
我需要查找特定角色中的所有用户并使用 List<ListItem> 填充 DropDownList。
涉及的数据库表有:
aspnet_Roles
aspnet_Users
aspnet_UsersInRoles
从 aspnet_Users 到 aspnet_Roles 的导航属性(使用联结表 aspnet_UsersInRoles)是:
myUser.aspnet_Roles
匹配 RoleID(Guid)“CE44ED48-E9F9-49C6-9E15-E40EEFDC7479”)
我的脚本:
using (CmsConnectionStringEntityDataModel context = new CmsConnectionStringEntityDataModel())
{
IQueryable<aspnet_Users> userQuery = from aspnet_Users in context.aspnet_Users select aspnet_Users;
IQueryable<aspnet_Roles> roleQuery = from aspnet_Roles in context.aspnet_Roles select aspnet_Roles;
List<ListItem> myListUsersInRoles = new List<ListItem>();
foreach (aspnet_Users myUser in userQuery)
{
// PROBLEM HERE
if (myUser.aspnet_Roles.ToString() == "CE44ED48-E9F9-49C6-9E15-E40EEFDC7479")
myListUsersInRoles.Add(new ListItem(myUser.UserName.ToString(), myUser.UserId.ToString()));
uxListUsers.DataSource = myListUsersInRoles;
uxListUsers.DataBind();
}`
问题: IF 总是返回 FALSE,所以我无法填充 List。 我想我在某些属性中做错了。
你有什么想法吗?感谢您的宝贵时间。
【问题讨论】:
标签: c# asp.net entity-framework-4