我有一個實體框架請求檢索許多不同的信息,使用幾個內部聯接,所以我使用動態列表作爲返回類型,但我似乎無法找到一種方法來使其工作當迭代它時。迭代通過列表<dynamic>
我提出的要求,有4個表,但我再舉一個例子,以簡化,說我有表Room
和Kitchen
var result = from r in Room
join k in Kitchen on r.idKitchen=k.id
where (r.id == myIDPassedAsParameter)
select new { rId = r.id, kId = k.id}
.ToList<dynamic>();
現在正試圖訪問它我這樣做的時候:
foreach (var r in result)
{
foreach (var item in r)
{
Console.WriteLine(item.rId + " " + item.kId);
}
}
我不斷收到第二個foreach的轉換異常。我找不到解決這個問題的方法。我最初使用它是因爲我返回的結果是匿名類型的,所以這就是我發現使返回成爲可能的原因。
謝謝
首先,你爲什麼要將它轉換爲「動態」列表?其次,嵌套列表意味着數據是不正確的列表列表。你究竟想要做什麼? – DavidG
我會避免使用'動態',除非你真的知道你在做什麼。你能至少使用'object'嗎? – user2023861
我強烈建議創建一個類型來處理結果。我不知道你爲什麼有兩個foreach。查詢的結果應該是這樣的'變種dynamicList =新名單 { 新{RID = 1,KID = 1}, 新{RID = 2,孩子= 2}, 新{RID = 3, kId = 3}, new {rId = 4,kId = 4} };' –