2
實體框架6似乎默認爲順序 GUID而不是完全隨機的GUID。我如何關閉此功能?實體框架6:關閉順序GUID
見CodePlex上的工作項目:http://entityframework.codeplex.com/workitem/71
實體框架6似乎默認爲順序 GUID而不是完全隨機的GUID。我如何關閉此功能?實體框架6:關閉順序GUID
見CodePlex上的工作項目:http://entityframework.codeplex.com/workitem/71
從鏈接到工作項目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);
}
如果這是可能的遷移,確實模型構建器(OnModelCreating)possi bly提供類似的功能? – Alex
不幸的是,這不太可能。這更多的是遷移問題,因爲該模型是關於實體之間的關係而不是數據庫類型問題。模型端的所有內容都需要通用於任何潛在的數據庫提供者,以允許您無縫切換到另一個數據庫。我可能還沒有其他的鉤子,但它們可能不存在於「模型構建器」中。 – Ocelot20
這實在令人失望。人們總是使用非順序的GUID,因爲它們不是可以猜測的,不必擔心連接表時的關鍵衝突問題等等 - 這應該至少是EF6中的設置,而不是強制更改。 – Alex