3

複数のプロジェクトとソリューションで RavenDb を使用して、すべて同じ製品の一部である 3 つの異なるデータベースにアクセスしています。たとえば、ID オーバーライドに「-」を使用して、「Web」中心のデータベースと「バックエンド」データベースからユーザー情報と一部のデータを取得する複数の MVC プロジェクトがあります (ただし、これはクラスのサブセットに対してのみ必要です「ウェブ」データベース)。そして、サービス (および MVC プロジェクト) によって使用される別の「バックエンド」データベースがあります。最後に、バックエンド データベースを構築するために別のサービス セットで使用する 3 番目の一時/スクラッチ データベースです。そしてもちろん、これらはすべて、さまざまなクラス ライブラリや、コンソール テスト、シード、統合テスト アプリからもアクセスされています。

これらすべてを管理することは、非常に面倒なことになっています。データベースにアクセスする新しいコンソール アプリまたはクラス ライブラリを作成するたびに、プロジェクトごとに構成パッケージとレイヴン パッケージをセットアップし、インデックスが構築されていることを確認する必要があります。私の場合は、サーバー/クライアント バイナリの新しい不安定バージョンをインストールします。

これを管理する簡単な方法はありますか?

DocumentStore の作成と初期化、およびインデックスの作成を独自のプロジェクトに抽象化し、それを参照しようとしました。しかし、他のプロジェクトでは、パッケージ ディレクトリから手動で newtonsoft.json (および nlog) を追加する必要がありました。

同様に、DocumentStore を静的プロパティを持つクラスに抽象化しようとすると、次のようになります。テストでの競合状態を回避するために、テストでドキュメント ストアを必ず破棄してください。

これらの問題を処理することについて何か考えがある人はいますか?

ありがとう

4

1 に答える 1

-2

参照を手動で追加することは大きな問題ではないと思いますが、実際のナゲット参照も追加できます。DocumentStore が破棄されていないというエラーは、不安定版 (デバッグ ビルド) でのみ発生するものであり、リリース ビルドでは発生しないことに注意してください。

于 2012-04-04T21:14:57.633 に答える