EF4.3 знать, если контекст успешно вставил объект

У меня есть следующий метод в базовом базовом классе:

    public virtual void Insert(TEntity entity) {
        dbSet.Add(entity);
    }

Мой сервисный слой использует Insert Способ добавления новых записей. Теперь я хотел бы иметь возможность вернуть bool, чтобы убедиться, что он вставлен правильно. Что-то вроде следующего:

    public virtual int Count {
        get {
            return dbSet.Count();
        }
    }

    public virtual bool Insert(TEntity entity) {
        int count = this.Count;
        dbSet.Add(entity);

        return this.Count == count + 1;
    }

Есть ли более элегантный способ для этого? Я подхожу к этому совершенно неправильно? Я мог бы сделать что-то подобное для метода Delete, но как я могу проверить, если Update был успешно выполнен?

1 ответ

Решение

Вам не нужно это делать. Добавление будет либо успешным, либо выдаст исключение. Он не может не добавить и вернуть без броска.

Более того, запрос не выполняется сразу. Он просто ставится в очередь, пока не будет вызван Commit (context.SaveChanges()). Таким образом, вы не знаете, провалится ли настоящий SQL или нет, пока позже.

Другие вопросы по тегам