2014-07-22 88 views
0

我想爲person表做SocialSecurityNumber鍵。 [Key]的作品,但這個密鑰的值是由數據庫生成的,我想我的給定值被保存在數據庫中,所以我用 [DatabaseGenerated(DatabaseGeneratedOption.None)]。現在,當我嘗試Add()數據時,我收到此錯誤。如何將IDENTITY_INSERT設置爲ON?

enter image description here

所以,我怎麼可以設置IDENTITY_INSERT設置爲ON時使用代碼首先,流利的API或註解?

以下是我的模特班。

public class Person 
     { 
      [Key, DatabaseGenerated(DatabaseGeneratedOption.None)] 
      public int SocialSecurityNumber { get; set; } 
      public string FirstName { get; set; } 
      public string LastName { get; set; } 

     } 
+4

Offtopic,但不要將SSNs存儲爲整數,除非您想處理大量的前導零問題。 –

+1

這是一個現有的數據庫還是您使用Code First生成它? – Dismissile

+0

@Dismissile no existing database,used code first first to generate – user3461957

回答

0

問題已解決。正如評論中@Tim問我是否使用過遷移。事實上,這是我在下次嘗試中沒有做的一步。我剛剛添加了另一個班級,但沒有將其設置爲[KEY],而是使用了完整註釋[Key, DatabaseGenerated(DatabaseGeneratedOption.None)],我沒有必須使用遷移,並且工作正常。由於之前的問題是由SocialSecurityNumberidentity造成的,但現在使用此方法,因此不再使用identity,因此IDENTITY_INSERT(仍然爲OFF)不適用於此。我可以改變價值。
https://www.facebook.com/photo.php?fbid=278643422321981&set=a.118955391624119.1073741827.100005289761090&type=1&theater

相關問題