C# 在Linq结果选择器中返回所有对象属性

C# 在Linq结果选择器中返回所有对象属性,c#,linq,C#,Linq,如果一个对象中有大量属性,是否有智能解决方案可以在结果选择器中返回所有属性?在我的例子中,应该模仿z.*。另一个对象p的属性数量非常有限,因此显式包含它们是可管理的 JoinedList= List1.Join(List2, a => users.ID, b => persmissions.ID, (z, p) => new { z.UserName, z.UserSurname, z.UserWh

如果一个对象中有大量属性,是否有智能解决方案可以在结果选择器中返回所有属性?在我的例子中,应该模仿
z.*
。另一个对象
p
的属性数量非常有限,因此显式包含它们是可管理的

JoinedList= List1.Join(List2,
    a => users.ID,
    b => persmissions.ID,
    (z, p) => new
       {
       z.UserName,
       z.UserSurname,
       z.UserWhateverData,
       p.PermissionName
       });
使用以下语法:

var JoinedList = List1.Join(List2,
    a => users.ID,
    b => persmissions.ID,
    (a, b) => new
    {
       rightTable = a,
       leftTabel = b
    });

您可以使用任意名称代替rightTable和LeftTable。

(z,p)=>new{z,p}
?返回所有属性,但它们嵌入到
用户的附加对象中。因此,我可以使用
JoinedList.PermissionName
,但对于与用户相关的属性,需要使用
JoinedList.users.UserName
。我希望它是一个平面结构,即
JoinedList.UserName
。我认为不提及sql之类的名称就无法获取所有列。因为返回结果是匿名类型。这与@Guru Stron solution相同,后者创建了两个对象的附加层
rightTable
leftTabel
。根据我的评论,我正在寻找一个平面结构。