public List<CardViewModel> Search(string searchWord) { try { List<CardViewModel> result = new List<CardViewModel>(); 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 where crd.CompanyName.Contains(searchWord) || crd.OwnerName.Contains(searchWord) || cat.MasterValue.Contains(searchWord) select new CardViewModel() { CardDetails = crd, Category = cat, Contact = con } ).ToList(); } return result; } catch (Exception ex) { throw new Exception(ex.Message); } }