データベースからレコードを取得し、それをオブジェクトに割り当てます。
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
});
}
注 :1000個未満のレコードがあり、すでにそれは気づいていません。
毎回データベースに対してSQLクエリを実行するすべての反復でToList
を呼び出しています。これを1000回行い、それが遅いのも不思議ではありません。
一度ToList
呼び出してから、結果をforeach
てください:
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
});
}