2

ジェネリック基本クラスに次のメソッドがあります。

    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正常に実行されたかどうかを確認するにはどうすればよいでしょうか。

4

1 に答える 1

5

その必要はありません。Add は成功するか、例外をスローします。投げずに追加して返すのに失敗することはありません。

さらに、クエリはすぐには実行されません。Commit (context.SaveChanges()) が呼び出されるまでキューに入れられます。そのため、実際の SQL が失敗するかどうかは後でわかります。

于 2012-04-22T04:37:01.637 に答える