を最適化する必要があります。LINQのステートメントは、私は次のコードを書かれている
//get the user from the DB
var tmpuser = _db.aspnet_Users.First(q => q.UserName == user.Identity.Name);
//list the direct connections to Verbond
List<Verbond> verb1 = tmpuser.UsersVerbondens
.Where(q => q.Schooljaar.Sch_Schooljaar == schooljaarparam)
.Select(q => q.Verbond)
.ToList();
//list the connected Facturatieverbonden
List<FacturatieVerbonden> verb2 = tmpuser.UsersFacturatieVerbondens
.Where(q => q.Schooljaar.Sch_Schooljaar == schooljaarparam)
.Select(q => q.FacturatieVerbonden)
.ToList();
//loop through the facturatieverbonden and add their verbonds to the first list
foreach (FacturatieVerbonden v in verb2) {
verb1.AddRange(v.Verbonds);
}
//make a distinct list
List<Verbond> test = verb1.Distinct().ToList();
だから、ユーザーは0以上のfacturatieverbonden
に接続することができ、またverbond
に接続することができます。
facturatieverbonden
は、それ自身の下に1つ以上のverbond
を持つことができます。
私が必要とするのは、ユーザーがfacturatieverbonden
を介して直接的または間接的に接続されているverbond
のすべてのリストです。
私のコードは動作しますが、それは非常に効率的ではないと思います。それをきれいにするためのヒント?
良いアイデアだが小さな問題:q.Verbondとvf.Verbonds(複数)は異なるタイプです。 –
David B:それは外国語でプログラミングするときの問題です。何かが意味をなさないときは分かりません。今は持っていますか? – Gabe
は素晴らしい作品です! :) – Stefanvds