2009-03-05 20 views
2

ユーザー定義のデータ構造を扱うための推奨事項はありますか?すなわち、ユーザは、システム内の「固定」エンティティに関連付けるために、追加のフィールドやテーブルを定義できる必要があります。私はいつも、これが主要なコンポーネントであるプロジェクトに取り組むには不運だと思われます。通常、ソリューションは動的に生成されたSQLテーブルを作成し、ORMのエッジを囲む恐ろしいSQL生成を使用して、動的データをロードして保存します。ユーザー定義のデータ構造を扱う

これに対処するにはより良い方法が必要です。このようなことに以前から取り組んできたのであれば、モデルの動的部分をORMでうまく演奏できるようにどのように管理しましたか?データを保存するためにテーブルをオンザフライで生成することはかなり標準的ですか、または大きな名前/値テーブルのようなものを使用することが望ましいですか?

私が考えているプロジェクトのタイプは、挿入/更新のスピードに関して非常に厳しいものではありませんが、大量のデータ(特にフィルタリングと集約)ダイナミックフィールド)。

+0

どの言語/プラットフォームですか? Pythonでは(SQLAlchemyを使って)これはかなり簡単です。 –

+0

私の悪い、言語を言及するのを忘れていた... .NETは、静的に型付けされたプラットフォームに等しく当てはまると思います。 –

答えて

1

ORMとは何かわかりませんが、私はあなたの質問を理解していると思います。

このアプリケーションのようなシステムでお客様の拡張データを使用する場合は、データをデータベースのXmlフィールドに、クライアント側のオブジェクトストアをXmlDocumentsとして保存しました。 SQLサーバーのXmlフィールドは簡単に照会され、オブジェクトクラスはカスタムXmlデータをラップします。

+0

名前/値のペアよりもはるかに制御されているが、ダイナミックな表作成の恐怖を感じることなく、本当に素晴らしいアプローチのように聞こえます!これを調べ、LINQ to SQL(またはHibernate)とどのように統合されるのか疑問に思うでしょう。ありがとう! –

関連する問題