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 или нет, пока позже.