Join anonymous type in LINQ

.net, c#, join, linq

Solution

You need to specify the names for the anonymous type properties:

from nSJL in UserList.AsEnumerable()
join SJL in UserListOnline.AsEnumerable()
on
new { UserID = nSJL.Field<int>("UserID"),
      UserName = nSJL.Field<string>("UserName") }
equals
new { UserId = SJL.Field<int>("UserID"),
      UserName = SJL.Field<string>("UserName") }
into sjList

Note that I've also changed the right hand side of the join to use `SJL` rather than `nSJL` too, as otherwise it's invalid. It would help your code's clarity if you'd use rather more meaningful names though...

Problem

i do have 2 c# declaration table , it column initialise during the creation of the program. i wanted to join this table base on its UserID and UserName. My Code is like following ``` from nSJL in UserList.AsEnumerable() join SJL in UserListOnline.AsEnumerable() on new { nSJL.Field<int>("UserID"), nSJL.Field<string>("UserName") } equals new { nSJL.Field<int>("UserID"), nSJL.Field<string>("UserName") } into sjList ``` in this code i am getting the error Invalid anonymous type member declarator. Anonymous type members must be declared with a member assignment, simple name or member access. Anyway to join anonymous type?

Original source