Recupera i record dal database e assegnali a un oggetto.
private readonly ApplicationDbContext _context;
var itemsData = _context.Items;
for (int i = 0; i < itemsData.Count(); i++)
{
_Response.Items.Add(new Models.Items
{
Name = itemsData.ToList()[i].Name,
....
Created = (DateTime)itemsData.ToList()[i].Created,
Updated = (DateTime)itemsData.ToList()[i].Updated
});
}
Nota : ci sono meno di 1000 record e già è notificabile lento.
Stai chiamando ToList
ad ogni iterazione, che esegue ogni volta la query SQL sul database. Fatelo 1000 volte e non c'è da stupirsi che sia lento.
Basta chiamare ToList
una volta e quindi foreach
il risultato:
var itemsData = _context.Items.ToList();
foreach (var item in itemsData)
{
_Response.Items.Add(new Models.Items
{
Name = item .Name,
....
Created = (DateTime)item.Created,
Updated = (DateTime)item.Updated
});
}