2017-06-20 22 views
1

當涉及到ASP身份時,我創建了一個新表,即使用代碼優先和遷移(代碼如下)的自定義表。當我嘗試使用DbContext嵌入到該表中時,我的ID不能爲實體框架中的null錯誤。我試圖使用id作爲計算/身份的註釋和錯誤是相同的。ASP.NET MVC實體框架標識不能爲空

當然,我錯過了一些東西,但我找不出什麼。

public class AspNetCountryTable 
    { 
     [Key] 
     [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
     public String Id { get; set; } 
     public String CountryName { get; set; } 
     public String CountryCode { get; set; } 
    } 

我想要做的就是讓自動生成的Id(字符串)就像asp身份爲用戶生成id的方式一樣。

謝謝!

+0

因此,它實際上生成一個ID你更新你的數據庫? – Fabiano

+0

@Fabiano我使用包控制檯中的add-migration「new_migration_name」和update-database生成(理論上)新的sql表。還有其他事情要做嗎? –

+0

你可以用'[DatabaseGenerated(DatabaseGeneratedOption.None)]'而不是'[DatabaseGenerated(DatabaseGeneratedOption.Identity)]'來嘗試嗎? –

回答

0

曾在遷移腳本作爲唯一標識符,而不是字符串和默認的SQL值在SQL水平Id列補充:NEWSEQUENTIALID()