Reputation: 2633
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?
Upvotes: 7
Views: 12782
Reputation: 1500145
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...
Upvotes: 14
Reputation: 46008
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.
Upvotes: 6