2

我在通用基类中有以下方法:

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

我的服务层使用该Insert方法添加新记录。现在我希望能够返回一个布尔值,以确保它正确插入。类似于以下内容:

    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已成功执行?

4

1 回答 1

5

你不需要这样做。Add 要么成功,要么抛出异常。它不能不添加和返回而不抛出。

更重要的是,查询不会立即执行。它只是排队,直到调用 Commit (context.SaveChanges())。所以你直到稍后才知道实际的 SQL 是否失败。

于 2012-04-22T04:37:01.637 回答