我试图弄清楚如何将嵌套的from子句替换为方法语法。我正在尝试.Select或.SelectMany,但我没有设法得到相同的结果。
var query = (from DirectToStoreStore s in dtsOrder.Stores
from DirectToStoreProduct p in s.Products
where p.DirectToStoreOrderLineID == directToOrderLineID
select p);
答案 0 :(得分:2)
你有很多方法可以写它。
var query = dtsOrder.Stores.Cast<DirectToStoreStore>()
.SelectMany(s => s.Products.Cast<DirectToStoreProduct>()
.Where(p => p.DirectToStoreOrderLineID == directToOrderLineID)
);
虽然可能没有必要使用强制转换,但它们只是存在,因为您在查询中明确声明了它们。删除它们可能是安全的。