Entity Framework. Как определить, выполнился ли запрос

265
01 мая 2017, 00:07

Например у меня есть код:

await _entities.AddAsync(entity);
await _db.SaveChangesAsync();

Где _entities - DbSet, _db - DbContext, entity - добавляемый объект. Как узнать добавлена ли запись в бд?

Проверку нужно сделать во время исполнения программы.

Единственное, что пришло в голову это сделать так:

    public async Task<bool> CreateAsync(TEntity entity)
    {
        if (entity == null)
            return false;
        try
        {
            await _entities.AddAsync(entity);
            await _db.SaveChangesAsync();
        }
        catch
        {
            return false;
        }
        return true;
    }
Answer 1

Результат выполнения метода SaveChanges возвращает количество объектов, записанных в базу данных.

Поэтому можно сделать так:

var count = await _db.SaveChangesAsync();
if(count == 1)//в вашей ситуации вы записываете 1 обьект
{
    //значит обьект был сохранен в базу
}
READ ALSO
Размер буфера FileStream

Размер буфера FileStream

Какой рекомендуемый размер буфера указывать при создании объекта в конструкторе?

273
События контролов в ASP.NET

События контролов в ASP.NET

Проблема в том, что событие Click не срабатывает (даже в назначенный метод не заходит)Метод Redirect формирует POST запрос и выполняет перенаправление...

241
Проброс событий C#

Проброс событий C#

Есть некоторый класс Controller, который является входной точкой в приложение и реализует интерфейс IController с набором методов, доступных извне...

321
Реакция на данные в БД.

Реакция на данные в БД.

Привет всем, у меня недавно возникла ситуацияЗаключается она в том что нужно оправлять письма пользователям, например за 5 дней до их дня...

194