Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Converting IQueryable<object> results to comma delimited string

I have a LINQ query that returns all absences for an employee. The first part of the linq statement gets a basic list of the employees details, but I also return an IQueryable list of illnesses related to that absence.

I'd like to somehow convert that IQueryable list to a comma delimited list of Illnesses.

Currently I use (majorly stripped down):

DetailsOfSickness = (
  from t2 in Illnesses
  join ai1 in AbsenceIllnesses on t2.IllnessID equals ai1.IllnessID
  select new { Illness = ", " + t2.IllnessName })

Which returns the list but I'd like the results like: Headache, Flu, Cramps.... etc. Any ideas?

like image 957
Fermin Avatar asked Dec 08 '09 11:12

Fermin


2 Answers

You can to use String.Join to create your comma delimited string.

string DetailsOfSickness = 
    String.Join(", ", (
      from t2 in illnesses
      join ai1 in absenceIllnesses on t2.IllnessID equals ai1.IllnessID
      select t2.IllnessName).ToArray());
like image 185
Rubens Farias Avatar answered Sep 18 '22 21:09

Rubens Farias


Something like this should do it:

DetailsOfSickness = String.Join(", ", (
  from t2 in Illnesses
  join ai1 in AbsenceIllnesses on t2.IllnessID equals ai1.IllnessID
  select t2.IllnessName).ToArray());
  • Please be aware, non-compiler, non-tested code.
like image 23
kastermester Avatar answered Sep 17 '22 21:09

kastermester