私のプロジェクトでエンティティフレームワークのコードの最初のアプローチにちょうど従っています。常に私はコマンドを使用してdbを再生成するように強制されます。しかし、今私はそれを安定させることができます。私はシナリオを持っており、このフレームワークは、移行スクリプトを作成して論理的ではない、私は何かが不足している可能性がありますあなたの助けが必要ですエンティティフレームワーク - コードファーストアプローチ
シナリオです - 私は、私のテーブルのすべての設定でクラス、私はかなり感銘を受けた。私は、エンティティに変更を行うときには、例えばのために、私が持っているディールクラス
私はLenderName、BorrowerNameと呼ばれる新しいプロパティを追加し、TEHアドオン移行スクリプトを実行し、それが、私のために移行スクリプトを作成し
public partial class LenderBorrowerName : DbMigration
{
public override void Up()
{
DropColumn("dbo.Deals", "LenderName");
DropColumn("dbo.Deals", "BorrowerName");
DropColumn("dbo.Deals", "Discriminator");
}
public override void Down()
{
AddColumn("dbo.Deals", "Discriminator", c => c.String(nullable: false, maxLength: 128));
AddColumn("dbo.Deals", "BorrowerName", c => c.String());
AddColumn("dbo.Deals", "LenderName", c => c.String());
}
}
問題は、元のデータベースにこのフィールドがなく、この移行スクリプトを使用してデータベースに追加するとします。これらのフィールドを更新するには、update-migration -forceを実行すると、上記のup()関数が原因でテーブルからカラムを削除しようとすると失敗します。 Microsoftがドロップスクリプトを追加する理由は、開発者が手動で削除する必要があるということですか?助けてください