将IQueryable <object>结果转换为逗号分隔的字符串</object>

时间:2009-12-08 11:36:42

标签: linq linq-to-sql iqueryable

我有一个LINQ查询,返回员工的所有缺席。 linq语句的第一部分获得了员工详细信息的基本列表,但我还返回了与该缺席相关的IQueryable疾病列表。

我想以某种方式将IQueryable列表转换为以逗号分隔的疾病列表。

目前我使用(主要是剥离):

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

返回列表,但我想要的结果如:头痛,流感,痉挛......等。 有什么想法吗?

2 个答案:

答案 0 :(得分:8)

您可以使用String.Join创建逗号分隔字符串。

string DetailsOfSickness = 
    String.Join(", ", (
      from t2 in illnesses
      join ai1 in absenceIllnesses on t2.IllnessID equals ai1.IllnessID
      select t2.IllnessName).ToArray());

答案 1 :(得分:3)

这样的事情应该这样做:

DetailsOfSickness = String.Join(", ", (
  from t2 in Illnesses
  join ai1 in AbsenceIllnesses on t2.IllnessID equals ai1.IllnessID
  select t2.IllnessName).ToArray());
  • 请注意,非编译器,未经测试的代码。