그래서 내 응용 프로그램에 ASP 멤버쉽을 설정했습니다. 또한 비회원 관련 데이터를 관리하기위한 별도의 User 테이블이 있습니다. 사용자 관리 중에 내 응용 프로그램이 두 테이블 모두를 쿼리하는지 확인해야합니다. 승인 된 사용자 목록을 반환하는 아래 컨트롤러가 있지만이를 수행하는 간단한 방법이있는 것 같습니다. 그것을하는 더 좋은 방법은 무엇입니까? 당신은 아마 간단한 LINQ에 참여하려는처럼MembershipUserCollection의 사용자 테이블 필터링
QuoteExchangeDB _db = new QuoteExchangeDB();
[MyAuthorize(Roles = "Administrator")]
public ActionResult Admin()
{
MembershipUserCollection agents = Membership.GetAllUsers();
IEnumerable<MembershipUser> unfiltered = agents.Cast<MembershipUser>();
var filtered = unfiltered.Where(u => u.IsApproved);
List<User> users = new List<User>();
foreach (var item in filtered)
{
if (item.IsApproved)
{
Guid guid = (Guid)item.ProviderUserKey;
users.Add(_db.Users.Single(u => u.MembershipGuid.Equals(guid)));
}
}
return View(users);
}
'if (item.IsApproved)'블록이 이미 필터링되어있어 중복 된 것으로 보입니다. –
Lol ... Linq 문을 추가하기 전에 if 문을 수행했습니다 ... 나는 그 사실을 알지 못했습니다. 지금 고치고있어. –