2013-10-14 130 views

回答

2

從鏈接到工作項目changeset,你會看到GuidColumnDefault不基於任何設置,只是返回基於供應商類型的默認

望着這link,它會出現,你可以在你的遷移進行手動設置,但:

// Excerpt from migration in link above: 
public override void Up() 
{ 
    CreateTable(
     "dbo.Items", 
     c => new 
      { 
       Id = c.Guid(nullable: false, 
        identity: true, 
        // You would use newid() instead. 
        defaultValueSql: "newsequentialid()"), 
      }) 
     .PrimaryKey(t => t.Id);  
} 
+0

如果這是可能的遷移,確實模型構建器(OnModelCreating)possi bly提供類似的功能? – Alex

+0

不幸的是,這不太可能。這更多的是遷移問題,因爲該模型是關於實體之間的關係而不是數據庫類型問題。模型端的所有內容都需要通用於任何潛在的數據庫提供者,以允許您無縫切換到另一個數據庫。我可能還沒有其他的鉤子,但它們可能不存在於「模型構建器」中。 – Ocelot20

+0

這實在令人失望。人們總是使用非順序的GUID,因爲它們不是可以猜測的,不必擔心連接表時的關鍵衝突問題等等 - 這應該至少是EF6中的設置,而不是強制更改。 – Alex