私のアプリケーションでは、会社には多くの従業員がいる可能性があり、各従業員は複数の電子メールアドレスを持っている可能性があります。
データベーススキーマは、次のようにテーブルを関連付けます。
会社->CompanyEmployeeXref->従業員->EmployeeAddressXref->メール
Entity Frameworkを使用していて、会社の名前とその従業員の電子メールアドレスのコンマ区切りリストを返すLINQクエリを作成したいと思います。これが私が試みているクエリです:
from c in Company
join ex in CompanyEmployeeXref on c.Id equals ex.CompanyId
join e in Employee on ex.EmployeeId equals e.Id
join ax in EmployeeAddressXref on e.Id equals ax.EmployeeId
join a in Address on ax.AddressId equals a.Id
select new {
c.Name,
a.Email.Aggregate(x=>x + ",")
}
必要な出力:
「Company1」、「a @ company1.com、b @ company1.com、c @company1.com」
「Company2」、「a @ company2.com、b @ company2.com、c @company2.com」
..。
私はこのコードが間違っていることを知っています。私はgroupbyが欠落していると思いますが、それは要点を示しています。構文がわかりません。これも可能ですか?助けてくれてありがとう。