Я использую Entity Framework с общим шаблоном хранилища. Я использовал следующий метод для добавления объекта.
public int Add<TEntity>(TEntity entity) where TEntity : class
{
DataContext.AddObject(GetEntityName<TEntity>(), entity);
return SaveChanges();
}
Я также подумываю расширить это для поддержки нескольких сущностей.
public int Add<TEntity>(TEntity[] collection) where TEntity : class
{
foreach (TEntity item in collection)
{
DataContext.AddObject(GetEntityName<TEntity>(), item);
}
return SaveChanges();
}
Будет ли реальная выгода от использования Parallel.ForEach
вместо цикла foreach
в приведенном выше сценарии?
Кроме того, поскольку я не вызывал SaveChanges()
до конца цикла, если есть, скажем, нарушение первичного ключа , будет ли он брошен в цикл или когда вызывается SaveChanges()
? Смогу ли я откатить изменения?