2016-07-20 6 views
2

を含まない属性私は、次の属性を持つフィールドを持っていた:変更は、コードファーストの移行に

[Column("Name")] 
[StringLength(50)] 
public string Name { get; set; } 

このフィールドの移行は、このように見えた:

CreateTable(
"dbo.TEST", 
c => new 
{ 
    Id = c.Int(nullable: false), 
    Name = c.String(maxLength: 50), 
}) 
.PrimaryKey(t => t.Id) 
.Index(t => t.Id 
); 

その後、私は次のようにフィールドを変更しましたこの:

[Column("Test_Name")] 
[StringLength(255)] 
public string TestName { get; set; } 

Add-Migrationを実行しますが、StringLength変更

RenameColumn(table: "dbo.TEST", name: "Name", newName: "Test_Name"); 

これは共通の問題です:それは私のオラクルDBにまだNVARCHAR2(50)あり、新しい移行は次のようになります含まれていなかったのですか?

DBで長さも変更されるようにするには、何が必要ですか?

+0

アップ()コードをハックする必要があるかもしれません:http://stackoverflow.com/questions/28299080/how-to-change-size-of-existing-column-using-entity-framework-6-code-まずは –

答えて

0

あなたはすでにいくつの移行を行っていますか? 〜20の移行を蓄積した後、移行スクリプトの作成でバグを経験し始めました。移行が10回以上ある場合は、consolidate themを実行してください。私が統合を行ったとき、移行スクリプトの世代がうまく動作し始めました。

+0

ありがとうございます。知っておくべきことは知っていますが、私は5つしか持っていません – Palmi

+0

すべてのマイグレーションを削除し、EFのバグが原因であるかどうかを確認するために、最初のフィールドを作成してみてください。 –

関連する問題