2017-06-19 20 views
0

私はすでにゼロから作成されたデータベース(__MigrationHistoryテーブルに移行履歴あり)とプロジェクトを持っています。私は 'データベースからコードを最初に'オプションを使用し、すべてのクラスが生成されました。今、私は1つの以上のテーブルを作成したい、私はクラスを作成しました:既存のデータベースと移行

[Table("Companies")] 
public partial class Company 
{ 
    [Key] 
    public int ID { get; set; } 
    public string Name { get; set; } 
} 

その後、私は(プロジェクト内の2つのコンテキスト、2 DBが使用されているがあります)私のコンテキストの移行を有効に:

有効にします-Migrations -ProjectNameインフラ-ContextTypeName Infrastructure.Asset.AssetContext

それは "移行" フォルダとConfiguration.csファイルを作成しました。

次に、私は、移行を追加しよう:

それは、移行を作成しますが、すでに存在しているテーブル、用(ドロップ)を作成して-Name会社-ProjectNameインフラ

-の移行を追加します。

なぜですか?私は違いだけを作りたい。

答えて

1

元のコンテキストと移行にアクセスできますか?既存のプロジェクトの上に移行を構築し続ける必要があります。そうでない場合は、新しいコードファーストコンテキストを作成し、既存のデータベースをリバースエンジニアリングしてから、マイグレーションを最初から再開できるようにする必要があります。あなたの移行を作成した後、パッケージマネージャコンソールで

+0

「リバースエンジニア、あなたの中に加えられた変更を反映させる必要があることを

更新データベース

のコマンドを実行します既存のデータベースを復元し、移行を最初から再開できるようにします。 - どうやってするの? __MigrationHistoryテーブルをクリアしますか? –

0

ちょうど移行

+0

このオブジェクトはすでに存在するため、このコマンドを実行できません –

+0

ビジュアルモデルはありますか? .edmxのように? – SentOnLine

+0

いいえ、型式コードのみ。 –

関連する問題