2016-10-20 7 views
0

にリストしてオブジェクトリストを変換:のようなオブジェクトを含む、私はオブジェクトのリストを持っている単一のリスト

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

userrole{ 
    rolid 
    rolname 
    rolcommission 
} 

userrolesListは、1つまたは複数のを持つことができます。

私は別のシステムにこのリストを送信する必要がありますが、他のシステムは唯一のようにオブジェクトのリストを受け入れる:1人のユーザーが私は10個の異なるオブジェクトを送信するために必要な10点の役割を持っている場合は、このケースで

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

userrole{ 
    rolid 
    rolname 
    rolcommission 
} 

他のシステム。どのように私はこれを簡単に行うことができ、パフォーマンスに影響を与えないかという提案はありますか?

+0

userroleobjectに解析するために送信した後、10の役割をすべて反復しないのはなぜですか。 –

+0

Userオブジェクトにプロパティを保持し、Objectの型を取得し、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

何をしようとするが、私の友人は非常に論理的ではありません。しかし、私の心には次のようなものがあります。userrolelistを各要素を単一のuserroleオブジェクトにキャストすることによって繰り返しを送信する必要があるクラスモデルを持つクラスを作成できます。このように:

for(int i = 0; i < userobject.userroleslist.Count ; i++) 
{ 
    var userrole = userobject.userroleslist[i]; 
    // Map your object with this userrole variable 
} 
関連する問題