2009-12-08 15 views
5

従業員のすべての不在を返すLINQクエリがあります。 linqステートメントの最初の部分は従業員の詳細の基本リストを取得しますが、その不在に関連する病気のIQueryableリストも返します。IQueryable <object>の結果をコンマで区切った文字列に変換する

私は何とかIQueryableリストをカンマ区切りの病気リストに変換したいと思います。

現在、私は(すぎなかっストリップダウン)を使用します。

リストを返しますが、私のような結果たい
DetailsOfSickness = (
    from t2 in Illnesses 
    join ai1 in AbsenceIllnesses on t2.IllnessID equals ai1.IllnessID 
    select new { Illness = ", " + t2.IllnessName }) 

:頭痛、風邪、けいれんを....など 任意のアイデア?

答えて

7

String.Joinを使用してカンマ区切り文字列を作成することができます。

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

素晴らしいルーベンス、ありがとう。 – Fermin

+0

LINQ to Entitiesでは動作しません。 – Ecyrb

+0

@Ecyrb、どうしてですか?私は試していませんでしたが、 '.ToArray()'メソッドをインクルードしたので、データベースの値を取得し、後で 'String.Join'のパラメータとして使用します –

3

このような何かがそれを実行する必要があります。

DetailsOfSickness = String.Join(", ", (
    from t2 in Illnesses 
    join ai1 in AbsenceIllnesses on t2.IllnessID equals ai1.IllnessID 
    select t2.IllnessName).ToArray()); 
  • 注意してください、非コンパイラ、非テストされたコード。
+0

基本的にはkastermesterを書きましたが、 !ありがとう – Fermin

+0

ちょうどノート、これはLINQ to Entitiesで動作しません。 – Ecyrb

関連する問題