Entity Frameworkのデータベーススキーマを更新する

.net entity-framework schema

質問

私はVS SP1をインストールし、Entity Frameworkで遊んだ。

既存のデータベースからスキーマを作成し、いくつかの基本的な操作を試しました。

データベーススキーマの更新を除いて、ほとんどがうまくいきました。

基本的な方法でデータベースを変更しました。

  • 新しいテーブルを追加しました
  • テーブルを削除した
  • 既存のテーブルに新しい列を追加しました
  • 既存のテーブルから列を削除した
  • 既存の列の型を変更しました

最初の3つはうまくいったが、型の変更と列の削除はデータベースの変更に追従しなかった。

デザイナーの作品を作る方法はありますか?それとも現時点ではサポートされていませんか?関連資料はまだ見つかりませんでしたが、それでも検索中です。

受け入れられた回答

おそらく既存のコードのビルドを壊すことになるのでそれらは起こらないと思いますが、それは私の側にある推測です。

これが私の論理です:

まず、EFは1:1以上のテーブルマッピングであることが想定されているので、テーブルAから列を削除しているからといって、そのエンティティに対してプロパティDescriptionがあるべきではないという可能性は十分にあります。そのプロパティを別のテーブルにマップするだけです。

第二に、型を変更するとビルドが中断される可能性があります。それが唯一の論理的根拠です。


人気のある回答

私は、一般的に、 'データベースからモデルを更新'機能にはまだかなりの数のバグがあることを発見しました。

キーは私にとって致命的です - 外部キーのリレーションシップに修正を加えたり、テーブルに主キーを追加したりしてもアップデータが正しく動作するようにするための修正はまだ行っていません。しかし、この問題を解決するためには、モデルを削除して再インポートするのが簡単です(ほんの1分かかります)。これは明らかに理想的とは言えませんが、「新鮮な」インポートで失敗することはありません。



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ