public List Retrieve() { try { List result = new List(); using (var context = new CardHolderContext()) { result = (from crd in context.Cards join cat in context.CategoryMasters on crd.CategoryId equals cat.CategoryId join con in context.ContactDetails on crd.CardId equals con.CardId select new CardViewModel() { CardDetails = crd, Category = cat, Contact = con } ).ToList(); } return result; } catch (Exception ex) { throw new Exception(ex.Message); } }