私は 2 つのデータベースを持っています: - 開発データベース (テスト & 開発用) - 本番データベース (最新リリースで使用)
VS2010 デザイナーを使用して、DEV データベースを Linq に正常に接続できます (関心のあるテーブルをドラッグ アンド ドロップすると、残りが生成されます)。これにより dev.dbml が作成され、そこから DataContext から派生するクラスをインスタンス化することができます。これにより、美しく厳密に型指定された Linq 容量が無料で得られます。これにより、静的コードを記述するためのデータベースの変更が反映されます。
私のプログラムは、文字列引数「dev」または「prod」を取る .exe です。それぞれ、Linq の強力なタイピングと自動生成の利点を失うことなく、「dev」または「prod」データベースを透過的に使用したいと考えています。さらに重要なことは、コードがデータベース ジェネリックである必要があることです。
おそらく 1 つの解決策は、dev.dbml で宣言された設定を何らかの方法で使用することですが、データ ソースに柔軟性を導入することです。これにより "prod" で障害が発生する可能性があることは理解しています (つまり、"dev" に存在するテーブルは "prod" にはありません)。 .
私が掘り下げていた別の解決策は、DataContextのラッパーを書くことでしたが、それではデータベースから手動でエンティティをコードに複製する必要がありました. -linq-to-sql-datacontext.aspx
私が見る他の解決策は、それぞれのデータベースに dev.dbml と prod.dbml をマッピングすることですが、次に、汎用コードの可能性を提供する方法は?
これをどのようにハックしますか?