ウィキやフォーラム、ブログソフトウェアなどのWebアプリケーションでは、データをリレーショナルデータベースに保存すると便利なことがよくあります。多くのホスティング会社は、ホスティングプランを備えた単一のデータベースを提供しているため(追加のデータベースには追加料金がかかります)、データベースオブジェクト(テーブル、ビュー、制約、およびストアドプロシージャ)に共通のプレフィックスがある場合にユーザーにとって非常に便利です。データベースの不足を認識しているアプリケーションでは、ハードコードされたテーブルプレフィックスを使用するのが一般的です。しかし、もっと欲しいです。具体的には、ユーザーが指定できるテーブルプレフィックスが必要です。たとえば、web.configファイル(もちろん、適切なデフォルトを使用)に指定できます。
CRUD操作を手動でコーディングするのは嫌いなので、有能なOR / Mを使用して作業することを好み、LINQ to SQL、Subsonic、およびADO.Netを使用(および楽しんだ)しています。しかし、ユーザーのweb.configファイルにテーブルプレフィックスを配置することになると、新しいプロジェクトで多少の問題が発生します。このシナリオをエレガントに処理できる.NetベースのOR/M製品はありますか?
これまでに思いついた最善の方法は、外部マッピングファイルを使用してLINQ to SQLを使用することです。このファイルは、まだ架空のweb.config設定に基づいて何らかの方法で更新する必要があります。
誰かがより良い解決策を持っていますか?Entity Frameworkでそれを実現しようとしましたが、すぐに混乱しました。(EFに慣れていないためですか?おそらく。)SubSonicはどうですか?コード生成時以外にテーブルプレフィックスを適用するオプションはありますか?