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

标签 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 })

它返回列表,但我想要这样的结果:头痛、流感、痉挛......等。
有任何想法吗?

最佳答案

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

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

关于linq - 将 IQueryable<object> 结果转换为逗号分隔的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1866410/

相关文章:

linq-to-sql - 如何围绕 Membership.CreateUser 封装事务?

c# - "Include"在 Entity Framework Core 中 SelectMany + Select 后不工作

c# - 实现高级过滤页面

c# - LINQ Join 的内存使用情况是多少?

linq-to-sql - LINQ to SQL 作为工作单元

LINQ-to-XYZ 多态性?

c# - 如何将 IEnumerable(无类型)转换为 IQueryable<T>?

c# - 返回 IEnumerable<T> 与 IQueryable<T>

c# - 使用 Linq + Include 排序

c# - Linq except 多个类属性