Этот код при вызове из контроллера для сохранения данных работает нормально только тогда, когда код выполняется построчно в режиме отладки, в противном случае данные не сохраняются в БД и иногда выдают исключение в методе сохранения, поскольку экземпляр ObjectContext был удален и может больше не используется для операций, требующих подключения.
Контроллер
...
await Task.Run(() =>
{
var result = WorkUnit.CategoriesRepository.Insert(model);
});
GenericRepsitory.cs
public async Task<int> Insert(TModel model)
{
var entity = Mapper.Map<TEntity>(model);
_DbSet.Add(entity);
return await Save();
}
public async Task<int> Save()
{
try
{
return await _context.SaveChangesAsync();
}
catch (DbEntityValidationException ex)
{
Console.Write(ex.ToString());
return 0;
}
catch (Exception ex)
{
Console.Write(ex.ToString());
return 0;
}
}