2011-12-22 6 views
0

LINQ에서 SQL로 WebGrid를 채우려고합니다.LINQ에서 특정 열을 특정 이름으로 선택합니까?

그것에는 다음과 같은 열 : 이름 이메일 이름 성 IsApproved IsLockedOut IsOnline LastActivityDate LastLoginDate 에서 CreationDate

이 모든 사용자 개체에서 온다 : dbc.Users

그러나 이름과 성을 제외한 모든 항목은 aspnet_Membershi의 연관입니다. p와 내 LINQ to SQL에 정의 된 aspnet_User. 적절한 열 이름으로 어떻게 설정합니까? 사용자 이름

var accounts = dbc.Users.Select(User => new User 
{ 
     Username => aspnet_Membership.username 
}).ToList(); 

그러나 그것은 작동하지 않습니다 :

나는 시도했다.

어떻게하면됩니까?

+0

조금 더 설명 할 수 있습니까? –

답변

2

은 다음과 같습니다

var accounts = dbc.Users.Select(User => new User 
{ 
     Username = aspnet_Membership.username 
}).ToList(); 

없음 => 속성이 할당하지만, 그런 경우가 아니라 가정 및 당신이 필요로하는 여러 개체 사이의 결과 집합을 "결합"하는 것입니다 위해, 하나 개의 방법이 하나를 가지고 주위를 작동 엔티티가 익명 클래스를 사용하여 관리하는 것입니다.

var accounts = from u dbc.Users 
       let m = dbc.aspnet_Memberships.First(i => i.ProviderUserKey == u.UserKey) 
       select new 
    { 
      Username = m.username, 
      FirstName = u.FirstName 
    }).ToList(); 

또는보기를 정의한 다음 모델에 추가하십시오. 이것은 공통 엔티티를 갖는 또 다른 방법입니다.

관련 문제