2016-10-20 2 views
0

에 목록 개체 목록을 변환 :같은 객체를 포함, 내가 개체의 목록을 하나의 목록

Userobject{ 
    username 
    userage 
... 
    userrolesList // is a List<userrole> 
} 

userrole{ 
    rolid 
    rolname 
    rolcommission 
} 

userrolesList 하나 이상의 을 가질 수 있습니다.

나는 다른 시스템으로이 목록을 보낼 필요가 있지만, 다른 시스템은 같은 개체의 목록 받아 : 한 사용자가 10 개 역할이있는 경우 I가 10 개 개의 서로 다른 객체를 보낼 필요가이 경우

Userobject{ 
    username 
    userage 
... 
    userroleobject // is a userrole object 
} 

userrole{ 
    rolid 
    rolname 
    rolcommission 
} 

을 다른 시스템. 어떤 방법을 통해 쉽게이 작업을 수행 할 수 있으며 성능에 영향을주지 않을 수 있습니까?

+0

userroleobject로 구문 분석하기 위해 전송 한 후 10 개의 모든 역할을 반복하지 않는 이유는 무엇입니까? –

+0

단일 객체로, userObject로에서 객체의 종류와 GET 반환 userrolesList에서이 속성을 유지하고 보내 –

답변

1

이것은 LINQ 쿼리 구문과 매우 간단합니다 : 당신이 뭘 하려는지

var results = from user in userObjects 
       from role in user.UserRolesList 
       select new OtherSystemUserObject 
       { 
        UserAge = user.UserAge, 
        UserName = user.UserName, 
        UserRole = role 
        // other mapping stuff... 
       }; 
0

은 매우 논리적 아닌, 내 친구. 그러나, 무엇을 내 마음에 오는 것은 : 당신은 당신이 다음 하나의 userrole 객체에 각 요소를 주조 userrolelist을 반복 보낼 필요가 클래스 모델 클래스를 생성 할 수 있습니다. 이처럼 :

for(int i = 0; i < userobject.userroleslist.Count ; i++) 
{ 
    var userrole = userobject.userroleslist[i]; 
    // Map your object with this userrole variable 
} 
관련 문제