У меня есть этот пример кода (.NET Core 2.2):
private void IterateSave(List<TokenMaster> items, int min, int max)
{
int skip = min;
int take = max / 5;
while (skip <= max)
{
try
{
var subItems = items.Skip(skip).Take(take).ToList();
_db.TokenMasters.AddRange(subItems); // <---
_db.SaveChanges();
skip += take;
}
catch (Exception ex)
{
Log.Error(ex, "Error saving this data batch! {RecordCount}", take);
IterateSave(items, skip, take);
}
}
}
private void IterateSave(List<Attributes> items, int min, int max)
{
int skip = min;
int take = max / 5;
while (skip <= max)
{
try
{
var subItems = items.Skip(skip).Take(take).ToList();
_db.Attributes.AddRange(subItems); // <---
_db.SaveChanges();
skip += take;
}
catch (Exception ex)
{
Log.Error(ex, "Error saving this data batch! {RecordCount}", take);
IterateSave(items, skip, take);
}
}
}
Как бы вы превратили это в один общий вызов?Я борюсь с необходимостью DbSet
и Model
.