Почему EF (4.0) занимает так много времени для вставки строк в таблицу? Когда я запрашивал данные сразу после закрытия приложения, он возвращал около 20 000 строк, и позже я заметил, что, хотя приложение было закрыто, данные не были вставлены, а вставки происходили в фоновом режиме. Почему это? Как можно сообщить приложению (я планирую запустить эти вставки как службу Windows, так как они долго работают), что вставки действительно завершены? Каковы способы увеличения скорости этих вставок? У меня только одно отношение внешнего ключа ... так что это не очень сложная модель данных. Спасибо за любую помощь!
Приложение является приложением ASP.Net. Вот фрагмент кода, где я звоню SaveChanges()
.
do
{
if (token != null)
{
response = context.Execute<NetflixService.Title>(token)
as QueryOperationResponse<NetflixService.Title>;
}
using (Models.MovieContext movieCtxt = new Models.MovieContext())
{
foreach (var item in response)
{
IList<Models.MovieGenre> genres = new List<Models.MovieGenre>();
foreach (var genreIterator in item.Genres)
{
var genre = new Models.MovieGenre
{
Genre = genreIterator.Name
};
genres.Add(genre);
}
//genres.Add(new Models.MovieGenre { Genre = "filmy" });
var movie = new Models.MovieCatalog
{
MovieTitle = item.Name,
MovieGenres = genres
};
movieCtxt.MovieCatalogs.Add(movie);
}
movieCtxt.SaveChanges();
}
}
while ((token = response.GetContinuation()) != null);