基本的に、次のテーブルを取得しました: UserProfile - UserId と、Referer Leadという名前の UserProfile が含まれています- Owner という名前の UserProfile (FK) が含まれています
私が探しているのは、特定のユーザー プロファイルのすべての紹介のすべてのリードを取得することです。
次のプロセスを考えていました: userprofile のすべての紹介を取得する 紹介ごとに、所有者が紹介と一致するすべてのリードを取得します。
LINQ to entity を使用してこれを (またはよりスマートに) 実行するにはどうすればよいですか?
私は次のことをいじっています:
var referrals = db.UserProfiles.Where(u => u.Referer.UserId == UserId);
var allLeads = db.Leads.Include("Owner").Where(l => true);
List<Lead> totalLeads = new List<Lead>();
if (referrals.Any())
{
foreach(UserProfile u in referrals.ToList())
{
var leads = allLeads.Where(l => l.Owner.UserId == u.UserId);
if (leads.Any())
{
foreach (Lead l in leads.ToList())
{
totalLeads.Add(l);
}
}
}
}