我正在尝试从For Loop
获取所有记录作为列表。
在For Loop
里面,我有一个查询,每次都会返回单个记录。
下面是我的代码:
IQueryable<MyClass> receive = null;
for (int i = 0; i < selected_items.Count(); i++)
{
var idx = order_receive_id[selected_items[i]];
receive = (from ors in db.item where ors.id ==
order_receive_idx
select new MyClass()
{
quantity = ors.receive ?? 0,
total = ors.quantity * 250 ?? 0
});
}
然后..
var com = new MyNewClass();
com.items_list = receive.ToList();
但这仅显示最后一条记录。我想从循环外部查询上面的所有记录。我无法根据需要找到任何帮助。
任何帮助将不胜感激。
答案 0 :(得分:1)
您将继续覆盖接收变量。
recieve.AddRange((from ors in db.item where ors.id ==
order_receive_idx
select new MyClass()
{
quantity = ors.receive ?? 0,
total = ors.quantity * 250 ?? 0
}));
如果需要,您还可以使用linq简化查询。
答案 1 :(得分:0)
您可以尝试在Linq查询中包含 像这样
(from p in GetProducts()
where prodIDs.Contains(p.ProductID)
select p).ToArray<Product>();