При создании анонимного типа (что вы делаете с «новым» без указания типа) вы должны указать имя члена для каждого свойства. Из вашего примера это будет выглядеть примерно так: (также исправлены ваши объединения)
var query = from a in db.tblActivities
join i in db.tblIPs on a.ipid equals i.id
join u in db.tblUsers on i.uid equals u.id
select new {
UserName = (u.UserName ?? i.Address),
Request = a.Request,
Date = a.DateTime
};
Возможно, вы также можете использовать UserName по-своему:
UserName = (u.UserName == null) ? i.Address : u.UserName,
но Оператор более лаконичен. Это похоже на «isnull» в SQL.