0

EntitySet<>文字列に変換するにはどうすればよいですか? すなわち(ボブ、ジョー、フランク)?

以下の LINQContactTypeは、多数の値を持つことができる個別のテーブルです。コンマ区切りの文字列に変換しようとしています。

var caseNotes =context.tblCaseNotes
                .Where(cn => cn.PersonID == personID)
                .OrderBy(cn => cn.ContactDate)
                .Select(cn => new
                            {
                                cn.ContactDate,
                                cn.ContactDetails,
                                cn.TimeSpentUnits,
                                cn.IsCaseLog,
                                cn.IsPreEnrollment,
                                cn.PresentAtContact,
                                ContactType = string.Join(", ", cn.tblCaseNoteContactTypes.ToArray()),
                                cn.InsertDate,
                                cn.InsertUser,
                                cn.CaseNoteID,
                                cn.ParentNote
                            });
4

3 に答える 3

2

tblCaseNoteContactTypes連結する列を選択する必要があります

 ContactType = string.Join(", ", 
         cn.tblCaseNoteContactTypes.Select(x => x.MyColumn))
于 2012-05-08T21:20:47.327 に答える
1

.ToArray();LINQ クエリの最後に追加し、それをパラメーターとして使用します。String.Join()

String.Join(", ", yourLinqQuery.ToArray());

これが機能するには、LINQ クエリが文字列を返す必要があるため、Array は文字列の配列になります。ToString()または、あなたが望むものと一致するを持っているオブジェクト。

String.Join(文字列, オブジェクト[])

編集:新しい情報を追加したとき:

tblCaseNotesContactTypes がオブジェクトの場合.Select(t -> {return t converted to string}).ToArray()

于 2012-05-08T21:17:14.973 に答える
0

空を確認しますか?

ContactType = cn.tblCaseNoteContactTypes.Any() ? string.Join(", ", cn.tblCaseNoteContactTypes.ToArray()) : String.Empty

また、

tblCaseNoteContactTypes

このコレクションのメンバーが文字列でない場合、Join問題が発生します。

于 2012-05-08T21:17:53.763 に答える