我處理這個問題:我想在我的表自動生成的身份是int類型SQL IDENTITY自動增量當0,但仍允許顯式插入
,但是,我想能夠明確設置身份。現在真正的挑戰是這些東西正在通過實體框架。我有我的數據庫IDENTITY(1,1)
列和IDENTITY_INSERT
設置爲ON
。
並且只要Id
在新創建的對象中爲0(未指定),它將插入相同的0.任何幫助表示讚賞,除了提供重新考慮體系結構(如果嘗試失敗,我會在其他任何情況下執行此操作)。
而這一切都必須在SQL CE和SQL Server上工作。
我不確定你想要解決什麼確切的問題。你能否提供一個使用案例,說明爲什麼以及何時需要插入一個已定義的ID而不是一個自動增加的ID? – Tanner 2014-11-24 15:37:09
你在什麼版本的SQL Server?這聽起來像使用「序列」可能比使用標識列更有意義。 – 2014-11-24 16:04:25
'Id是0(未指定)'0是int的默認和完全有效的值,因此它被指定。嘗試使'Id'可以爲空。如果它是空的(而不是0),EF應該能夠照顧它。 – PoweredByOrange 2014-11-24 16:07:01