2015-09-26 73 views
1

我正在使用代碼優先方法,並且因爲我沒有.edmx文件,因此我無法更改StoreGeneratedPattern屬性。那麼我如何讓EF自動遞增ID? (現在所有的ID都默認零)如何在使用代碼優先時使實體框架自動遞增ID

+0

您要查找的是'DatabaseGeneratedAttribute','DatabaseGeneratedOption'爲'Identity'。 – Hopeless

+0

當我使用DatabaseGeneratedOption.None它不會自動遞增,但是當我使用DatabaseGeneratedOption.Identity它甚至不會生成Id(使其爲空) – Kipras

回答

1

主鍵通過自動遞增(默認行爲)產生下列是否有任何的成立:

  • 類包含一個名爲屬性「ID」
  • 類包含一個名爲的$ className + 「ID」
  • 感興趣的屬性註解財產與KeyAttribute

可能是因爲您的財產被命名爲「ID」而不是「Id」而沒有Key屬性?

+0

我使用Key屬性並將該屬性命名爲Id – Kipras

+0

什麼是財產的類型? 'int'還是別的東西? –

1

有指定使用EF代碼第一鍵三種方式:

  • 使用內置的代碼公約(他的第一次兩發子彈)
  • 使用直接KeyAttribute數據註解的屬性/字段
  • 使用Fluent API指定關鍵字段