1
我想使用linq連接2個表並避免匿名對象。如何使用linq連接2個表,但避免匿名對象
到目前爲止我使用元組。
var products = from tm in db.TargetMarkets
join tp in db.Products on tm.product_id equals tp.id
where tm.country == 2
select Tuple.Create<TargetMarket, Product>(tm, tp);
但是,當我的foreach
foreach (var p in products)
{
var a = p.Item1.id;
}
它拋出一個異常
LINQ到實體無法識別方法「System.Tuple`2
問題:
- 有沒有辦法讓我的代碼強類型
- 有什麼不對元組(可選)
我懷疑是因爲類型使用連接條件錯誤,你能檢查兩個ID是同一類型? –
您注意到'foreach'中的錯誤,因爲第一條語句是延遲執行。 –
它們是相同的類型(整數)。查詢語句不會拋出錯誤。 foreach執行拋出錯誤。 – PJ3