2017-11-09 1 views
0

をデータベーススキーマを変更しました私はこれがcolumn remapping annotationによって達成できると思った。 私はこのように私のEFモデルを変更:列は、EFモデルがこれを持っていたので、私はデータベースの列「completedcomments」を持っているEFコアに

[Column("completedcomments")] 
    public string completionComments { get; set; } 

私は列の再マッピングを有効にするには、移行が必要なので、私は念のために1をやったかどうかわかりませんでした。私の驚いたことに、マイグレーションは私の "completedcomments"列を削除し、データベースに "completionComments"列を追加しました。

これは私がやりたかったものではありません(また、その列からテストデータを復元するためにリストアを行う必要があります)。これは、列の再マッピングの機能ではない場合は、どのようにして「completedcomments」列のコンテンツを「completionComments」として配信できますか?コントローラーで何をすべきか、もしそうなら、列の再マッピングのポイントは何ですか?

+1

それは私がそれがうまくいくはずであると理解する方法です。 'completedcomments'はデータベースの列名で、コードの' completionComments'です。しかし、私は自分のデータベースに対してマイグレーションを実行しません。 – Jasen

答えて

0

私はコンテキストファイルにあった私のミスを発見:

私が持っていた:

entity.Property(e => e.completionComments).HasColumnName("completionComments"); 

それがされている必要があります:コンテキスト・ファイル内の

entity.Property(e => e.completionComments).HasColumnName("completedcomments"); 

ミスが原因スキーマ変更。間違いがなければ、コラムの再マッピングは思うように動作し、Jasenのコメントで説明されています。

再マッピングでは移行する必要はありません。

+0

属性とコードを最初に流暢に移行する必要はありません。 –

関連する問題