私は次のアクションメソッドを持っています:-
public ActionResult RackServer(int id) {
var servers = repository.AllFindRack_Servers(id).ToList();
var IT360IDs = servers.Select(a => a.Technology.IT360ID.Value).ToArray();
return PartialView("~/Views/Server/_nonPagedServerTable.cshtml", servers);
}
次のリポジトリメソッドを呼び出します:-
public IQueryable<TMSServer> AllFindRack_Servers(int id)
{
return tms.TMSServers.Where(c => c.RackID == id)
.Include(a => a.OperatingSystem)
.Include(a3 => a3.TMSRack.DataCenter)
.Include(a14 => a14.TMSRack.Technology)
.Include(a6 => a6.TMSVirtualMachines)
.Include(a7 => a7.TechnologyStatu)
.Include(a8 => a8.TechnologyBackUpStatu)
.Include(a9 => a9.TechnologyRole)
.Include(a10 => a10.Technology.TechnologyIPs)
.Include(a11 => a11.TMSServer1.Technology)
.Include(a14=>a14.TMSServers1)
.Include(a12 => a12.TMSSwitches)
.Include(a13 => a13.TMSFirewalls);
}
しかし、アクションメソッド内の .Tolist() 位置を次のように変更する場合に備えて、次のように注意しました:-
public ActionResult RackServer(int id) {
var servers = repository.AllFindRack_Servers(id);
var IT360IDs = servers.Select(a => a.Technology.IT360ID.Value).Tolist().ToArray();
return PartialView("~/Views/Server/_nonPagedServerTable.cshtml", servers);
}
次に、リポジトリ メソッドへの 2 つのクエリが実行されますか? .Select & .Tolist() を同じステートメント内に持つと、2 つの同様のクワイアが実行される理由を誰かが説明できますか?
ありがとう