2011-07-27 4 views
3

私はWebベースのプロセス管理エンジンを実装しており、いくつかの問題に直面しています。実行時にDynamic Data Website(ASP.NET)にデータベースを追加することはできますか?

プロセスモデルには、属性が異なるオブジェクトタイプがあります。
モデル "リクルート":
社員(名前、誕生日、部署)
アプリケーション(日付、...)
申請者(名前、誕生日、...)

すべてのモデルは、独自のデータベースを持っていますすべてのオブジェクト型インスタンスはこのdb内の別のテーブルに格納されます。 (はい、それはかなり非正規化されています...)実行時に、新しいモデルが追加され、異なるスキームを持つ追加のデータベースが処理される可能性があります。

ASP.NETのダイナミックデータは、すでに存在するdbスキームで動作します。実行時にこれらの新しいデータベースを追加して(対応して)対応するLINQ2SQLクラスを作成することは可能ですか?

テーブルを正規化して、すべてのモデルとデータを同じデータベースに格納することができます(ビルド時にスキームを知っているはずです)。しかし、膨大な数のマルチユーザーシステム各テーブル内のインスタンスの、それはあまりにも複雑である(などに参加する)...

任意のアイデア?事前に感謝

ステファン

+0

RavenDBのようなものを使ってみましたか? http://www.ravendb.net –

+0

ありがとう、私はそれを見てみましょう。 – Stefan

+0

私はモデリングコンポーネントを担当していないので、モデリングコンポーネントがこの基準で動作し、これを変更する機会がないため、戸惑うように見えますが残念ながら私はSQLデータベースを使用しました。 LINQマッピングなしで動的なコードを書くことで対処しなければならないようです。 – Stefan

答えて

0

あなたは、動的データ定義言語を持ち、時折新しいオブジェクトを追加する必要がある場合は、1 DBのアプローチは、(顧客など)prinicipal DBテーブルは属性にキーが付いてEAV modelを、使用することですテーブル(顧客の動的属性を含む)と別のテーブルには、各属性のキー値があります。この方法を使用

あなたは、EAVモデルにあなたのDDのアプリケーションをハードコーディングし、オブジェクトを追加して、DB内のデータ定義言語に指定した任意の変更を加えることなく、自由に属性があります。

関連する問題