効率的なLinqクエリにこのクエリループを作成する助けてもらえますか?私はTreeViewにこれをロードして、各項目を添付する必要があります。インクルードも非常に非効率的です。怠惰なアイテムの読み込みでも機能しません。それがあるように、このクエリは、より多くの回数、これは働いていた最終的なコードだった気にするものについてはより効率的なLINQクエリ
public IQueryable<Client> GetTopLevelData(Guid agentGuid, int year)
{
var clients = from client in ObjectContext.Clients
join cbc in ObjectContext.Client_Bucket_Client on client.Client_GUID equals cbc.Client_GUID
join acb in ObjectContext.Agent_Client_Bucket on cbc.Client_Bucket_GUID equals acb.Client_Bucket_GUID
where acb.Agent_GUID == agentGuid
select client;
foreach (Client c in clients)
{
var transactions = ObjectContext.Transactions.Where(t => t.Client_GUID == c.Client_GUID && t.Year == year);
foreach (Transaction t in transactions)
{
t.Forms.Attach(ObjectContext.Forms.Where(f => f.Transaction_GUID == t.Transaction_GUID && f.Year == year)); //.OrderByDescending(fo => fo.Create_Date));
}
c.Transactions.Attach(transactions);
}
return clients;
}
エンティティへのLINQ to SQLまたはLINQ? – Adrian
LINQ to Entities。 –