2

MVVMパターンでWPFを使用するときに理解しているように、モデル側では、クラスとエンティティデータクラス(データベースアクセスのタイプとして機能します)を使用できます。

エンティティのクラスを生成するために VS2010 で「ADO.NET エンティティ データ モデル」を使用したいくつかのチュートリアルに目を通しました。テーブルと列の定義はハードコーディングされています。

私の質問は、アプリケーションの一部でユーザーが独自のテーブルを作成できるようになることです。この場合、エンティティ モデルは引き続き機能しますか? 今までは、少し融通が利かなかったようです。システム テーブルはめったに変更されませんが、ユーザー テーブルは変更されます。動的であることをどのように処理できますか?

4

2 に答える 2

4

Entity Framework は「静的」ORM です。コンパイルする前に、テーブルと列をコードで宣言する必要があります。そうです、あなたが言及した制限は、データベーススキーマが急速に変化している状況では問題になる可能性があります.

より動的なコード生成を利用する代替 ORM を検討すると役立つ場合があります。.NET Micro-ORM の多くはこれをサポートしています。私はそれらを使った経験はあまりありませんが、MassiveSimple.Dataの両方がこの種のことをサポートしていると思います。

dynamic3.5 ではサポートされていなかったため、これには .NET 4 以上の前提条件があることに注意してください。

于 2013-05-22T12:30:57.153 に答える
0

ユーザーがその場でテーブル (エンティティ) を作成できると言っている場合、それは EF や、率直に言って、クラスにデータを入力するデータ アクセス戦略とはうまく調和しません。問題は、ユーザーが作成したテーブルを介して実行時に基本的に新しい「クラス」を作成していることです。これは、データセット/テーブル、またはデータリーダーに適しています。

于 2013-05-22T12:31:04.633 に答える