Join anonymous type in LINQ
10,870
Solution 1
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...
Solution 2
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 = nSJL.Field<int>("UserID"), UserName = nSJL.Field<string>("UserName") } into sjList
You weren't declaring the field names for your anonymous type.
Author by
abc cba
Updated on June 14, 2022Comments
-
abc cba almost 2 years
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?