リックは最も重要な概念を正しく述べています。アズールテーブルストレージにはスキーマがありません。ストレージシステム自体については、エンティティセット(テーブル)に格納する内容を変更したい場合は、何もする必要はありません。もちろん、異なるスキーマを持つエンティティ(行)を格納している場合は、その違いを処理するビジネスロジックを準備する必要があります。たとえば、変更した値に応じて、NULL値または異なるデータ型を処理する必要があります。
この場合、システムはエンティティセット(テーブル)の存在を知る必要があり、その内容についてはまったく気にしません。これは、格納しているエンティティのスキーマを変更するときに.CreateTableFromModelを呼び出す必要がない理由です。
私の意見では、Azureの人々は、実際には「エンティティセット」を意味するときに用語「テーブル」を使用して開発者を混乱させます。表は、開発者を固定スキーマと列で精通した道に導きます。あなたは本当にエンティティがエンティティ(プロパティバッグ)のコンテナを設定すると考えるべきです。エンティティがPartitionKey、RowKey、およびModifiedDate(?)の各プロパティを含んでいなければなりません。
私が言ったことはすべて、雲のAzure Table Storageの実際の施設に当てはまることです。開発者ストレージの現在の実装は、実際のSQLデータベースで構築されたクラウドのローカルシミュレーションです。つまり、開発ストレージを使用する場合は、実際にエンティティセットに固定スキーマを使用するように制限されます。これは、開発ストレージの現実のシミュレーションでは重要な欠点であり、厄介です。
私は.CreateTableFromModel関数を再度呼び出しますか?だから、あなたが言っているのは、スキーマの変更が行われたときに呼び出すことができ、例外をスローしたり、既存のデータを削除したりすることができないということです。 –
モデルに新しい型を追加するときにのみ、CreateTablesFromModelを呼び出す必要があります。既存のテーブルは影響を受けません – Rik