2016-12-20 8 views
0

Serviceクラスが読み取りと書き込みの両方の操作を処理できるパターンがありますか?現在のサービス層をDbContextScope github/mehdime/DbContextScope(Repo層なし)を使用するように改造しようとしており、同じクラスで読み書き操作を行っています。DbContextScope同じサービス内のReadOnlyとCreate Context

私は、単一のIDbContextScopeFactoryオブジェクトを使用している場合、それは私がちょうど読み取り操作または書き込み処理するために、2つのサービスクラスを作成する必要がありますする必要はいけない例外Cannot nest a read/write DbContextScope within a read-only DbContextScope

がスローされます、この周りを離れてあるのでしょうか?それは単にスコープの問題であれば、おそらく私は何とか各操作の種類ごとに別々のスコープを持つようにレイヤーを設計できますか?

ガイダンスは非常に役に立ちます。

答えて

0

例外がスローされた理由が見つかりました。私はファクトリコールを参照していたのと同じ行にdbContextインスタンスを作成しようとしていました。

using (var db = _dbContextScopeFactory.Create().DBContexts.Get<*NAME*>()) {}

私は、これはdbContextが誤って配置されることが原因となったと思います。一度コードをリファクタリングして、使用する行の外側のdbContextを取得すると、エラーは停止しました。

using (var fact = _dbContextScopeFactory.Create()) { var db = fact.DbContexts.Get<*NAME*>(); }

関連する問題