I don't have exact database entities, you can try using joins. like I did here
class User
{
public int userId { get; set; }
public string name { get; set; }
}
class Letter
{
public int letterId { get; set; }
public int SendTo { get; set; }
public int SentFrom { get; set; }
public string subject { get; set; }
public DateTime date { get; set; }
}
public static void Main(string[] args)
{
List<User> UserList = new List<User>
{
new User{userId=1, name="nobel"},
new User{userId=2, name="kunal"},
new User{userId=3, name="rijul"},
new User{userId=4, name="rohan"},
new User{userId=5, name="manoj"}
};
List<Letter> UserLetters = new List<Letter>{
new Letter{letterId=1,subject="sibject text1", SendTo=1,SentFrom=5,date=DateTime.Today},
new Letter{letterId=2,subject="sibject text2", SendTo=5,SentFrom=5,date=DateTime.Today},
new Letter{letterId=3,subject="sibject text3", SendTo=1,SentFrom=5,date=DateTime.Today},
new Letter{letterId=4,subject="sibject text4", SendTo=3,SentFrom=5,date=DateTime.Today},
new Letter{letterId=5,subject="sibject text5", SendTo=3,SentFrom=5,date=DateTime.Today},
new Letter{letterId=6,subject="sibject text6", SendTo=4,SentFrom=5,date=DateTime.Today}
};
var letters = (from ul in UserLetters
join ulFrom in UserList on ul.SentFrom equals ulFrom.userId
join ulTo in UserList on ul.SendTo equals ulTo.userId
select new
{
SenderName = ulFrom.name,
recieverName = ulTo.name,
Subject = ul.subject,
Date = ul.date
}).ToList();
}