スタッフを表すオブジェクトのリストであるLinqToSQLの結果があります。スタッフが複数の場所に登録されている場合、重複するスタッフレコードがあります。複数のスタッフレコードの場合、「location」内のそれらの場所をコンマで区切って、1つのスタッフレコードを持つようにする必要があります。selectステートメントは次のとおりです。
staff = query...
select new UserModel
{
sourceId= stf.STAFF_GU,
location = loc.LOCATION_GU.ToString(),
userName = user.LOGIN_NAME,
email = person.EMAIL
}).ToList();
各ユーザーに1つの行があり、場所がそのユーザーの場所のコンマリストである最終的なリストを取得する方法に固執しています。
この記事からJonSkeetのソリューションを試しましたが、場所のグループを文字列のリストに変換する方法がわかりません。
var merged = staff.GroupBy(x => x.sourceId)
.Select(g => new UserModel
{
sourceId = g.Key,
userName = g.First().userName,
location = g.**DO_WHAT_TO_COMBINE_LOCATIONS**(x => x.location),
email = g.First().email
});
あなたはstring.Join()
おそらく次のような方法を使用することができます
location = string.Join(",",g.Select(x => x.location))
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加