Я пытаюсь получить все записи в виде списка из 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();
Но это показывает только последнюю запись. Я хочу, чтобы все записи из вышеперечисленного запрашивались вне цикла. Я не мог найти никакой помощи в соответствии с моей потребностью. Любая помощь будет высоко оценена.
Вы сохраняете перезапись получаемой переменной.
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.
Вы можете попробовать Содержит в запросе Linq, например
(from p in GetProducts()
where prodIDs.Contains(p.ProductID)
select p).ToArray<Product>();