私は基本的なCRUD操作を行うためにEntity Framework 6を使用しています。私は、日付範囲内のオブジェクトを選択することができる必要がありますが、これはかなり簡単ですが、これらのオブジェクトは、前年のデータの本質的な倉庫であるいくつかのデータベースに分散させることができます。一度私たちは日付範囲でそれらを探しています。アーカイブデータベースでのEntity Frameworkの使用
例すべてのFooオブジェクトが2015年1月1日から2016年11月9日の間に必要です。 2015年のFooデータは別のデータベースに格納されます。これはすべて2005年に戻っています。すべてのスキーマが同一であるわけではありません。
には11個のEFプロジェクト、11個のコンテキストと11個の接続文字列があります。このソリューションでは、アーカイブを作成する毎にコードを追加する必要があるという問題があります。これはハックのようです。 Azureストレージ方式へのスワッピングは、近い将来、オプションではありません。
これ以上の優雅なソリューションはありますか?
これは良い計画のようです。そこで、接続文字列(おそらくweb.config?)とスワップを調べるための正規表現を探しています。私が探しているテーブルのスキーマは、似ていますが同一ではありません。流暢に再マッピングしたり、私のマッピングを行うためにEFの規則に頼っているだけでしょうか? (+1しますが、私は<15ノブです) – Jimbob
@ Jimbob実行時にEFを再マップすることはできませんので、複数の 'DbContext'を作成するか、エンティティを作成して、すべてのフィールド矛盾しているフィールドでNULLをチェックします。データアクセスレイヤーの前にアプリケーションレイヤーを置いて、データの一貫性のあるビューを提供することはうまくいくでしょう。 – flipchart
毎年新しいコンテキストを検討していますか?私はDBAの1人に日付のパラメータを渡すことができるストアドプロシージャを使ってこれをサーバー側に並べ替えることを考えています。それは良いでしょうか? – Jimbob