2012-06-12 93 views
1

我試圖在現有數據庫中使用EF遷移。實體框架遷移未檢測到模型更改

啓動項目是一個MVC 3項目,域對象位於相同解決方案的單獨項目中。

下面是我所採取的步驟:

附加遷移InitialMigration -IgnoreChanges -Verbose

創建Configuration.cs和### _ InitialMigration.cs。必須編輯Configuration.cs以添加我的上下文對象的名稱,因爲它在單獨的項目中。

更新,數據庫

新增DBO .__ MigrationHistory到我的數據庫

增加了一個新的屬性,以現有的類

private ulong? myProp; 
[DataMember] 
public ulong? MyProp 
{ 
    get { return myProp; } 
    set 
    { 
     if (myProp != value) 
     { 
      myProp = value; 
      RaisePropertyChanged(() => this.MyProp); 
     } 
    } 
} 

編譯成功的解決方案。

附加遷移MyNewMigration

創建### _ MyNewMigration.cs,其中不帶遷移:

public partial class MyNewMigration : DbMigration 
{ 
    public override void Up() 
    { 
    } 

    public override void Down() 
    { 
    } 
} 

不找好......在哪裏遷移?

更新,數據庫-Verbose -Script

新的屬性在升級腳本沒有提到

INSERT INTO [__MigrationHistory]([MigrationId],[CreatedOn ],[Model],[ProductVersion]) VALUES('201206122137444_MyNewMigration','2012-06-12T22:07:49.170Z',0x1F8B080YadaYada,'4.3.1')

如何獲取EF Migrations以獲取模型更改?

回答

3

事實證明,EF遷移不喜歡我使用的ulong?數據類型。沒有任何警告,該財產被忽略。

將類型更改爲long?允許遷移成功。