0

我有一个对象列表,其中包含以下对象:

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

userrole{
    rolid
    rolname
    rolcommission
}

userrolesList可以有一个或多个userroleobjects

我需要将此列表发送到另一个系统,但另一个系统只接受对象列表,例如:

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

userrole{
    rolid
    rolname
    rolcommission
}

在这种情况下,如果一个用户有 10 个角色,我需要将 10 个不同的对象发送到另一个系统。有什么建议可以让我轻松做到这一点而不影响性能吗?

4

2 回答 2

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...
              };
于 2016-10-20T02:54:43.123 回答
0

我的朋友,你试图做的不是很合乎逻辑。但是,我想到的是:您可以使用您需要的类模型创建一个类,然后通过将userrolelist每个元素转换为单个userrole对象进行迭代。像这样:

for(int i = 0; i < userobject.userroleslist.Count ; i++)
{
    var userrole = userobject.userroleslist[i];
    //  Map your object with this userrole variable
}
于 2016-10-20T03:01:12.527 回答