数十億行のデータを持つことができる特定のテーブル (これを ItemTable と呼びます) を持つレガシー データベースがあります。データベースの制限を克服するために、行数が 100,000,000 に達するたびにテーブルを「サイロ」に分割することにしました。したがって、ItemTable が存在し、深夜にプロシージャが実行されて行数がチェックされます。numberOfRows が > 100,000,000 の場合、silo1_ItemTable が作成されます。これからデータベースに追加されるすべてのアイテムは、silo1_ItemTable に追加されます (大きくなるまでは、silo2_ItemTable が存在します...)
テーブル構造が同一であるため、ItemTable と silo1_ItemTable を同じ Item エンティティにマップできますが、実行時にこのマッピングを設定する方法やクエリのテーブル名を指定する方法がわかりません。すべての挿入は最新の siloX_ItemTable に追加する必要があり、すべての読み取りは指定された siloX_ItemTable からのものである必要があります。
データを挿入/読み取るためのテーブル名を提供する別の siloTracker テーブルがありますが、これをエンティティ フレームワークでどのように使用できるかわかりません...
考え?