using System.Collections.Generic;
var users = new List<User>
var works = new List<Work>
join user1 in users on work.User1 equals user1.UserID
join user2 in users on work.User2 equals user2.UserID
join user3 in users on work.User3 equals user3.UserID
select new WorkView(work.WorkID, user1.Name, user2.Name, user3.Name);
Console.WriteLine(string.Join(Environment.NewLine, query));
sealed record User(int UserID, string Name);
sealed record Work(int WorkID, int User1, int User2, int User3);
sealed record WorkView(int WorkID, string User1, string User2, string User3);