このプロジェクトでは、Entity Framework Code Firstを使用しています。非常にシンプルなPOCOがデータベース内の多くのテーブルを表す場合があります。これは、SQL Azureの水平パーティショニング戦略の一部です。 SQL Azureはファイルグループをサポートしていないため、一般的なパーティショニングはサポートされていません。非常に多数のテーブルが存在するため、UNION ALLビューを基本ビューのCHECK CONSTRAINTを介してパーティションビューとして使用することは実現できません。Fluent APIのマッピングを動的に変更します
したがって、実行時に必要に応じてマッピングを実行することをお勧めします。ただし、これは、
modelBuilder.Entity<EntityName>().ToTable("foo", "bar");
のようなコードを介してDbContextクラスのOnModelCreatingイベントで発生します。工場内でこのマッピングを実行することは可能でしょうか?我々は、Factoryにメタデータを供給し、ModelBuilderを介してPOCOとテーブルとの間に1対1のマッピングを持たせるのではなく、Fluent APIを使用することを好むでしょう。
あなたが求めるものは不明です。あなたは 'OnModelCreating'で常にマッピングを作成するカスタムコードを持つことができます。 –
私はOnModelCreatingで定義したくありません。私は1つのクラスを持ち、そのクラスを同じスキーマを持ついくつかのテーブルに動的にマップできます。 OnModelCreatingでそれを行うと、私はそのオプションがあるとは思わない。 OnModelを使用すると、1つのテーブルのみにマップできます。 –