2011-02-08 73 views
0
_db.Comments.InsertAllOnSubmit(comments); 
_db.SubmitChanges(); 

有這個表IGNORE_DUP_KEY = ON唯一索引,我知道我將重複我只是想忽略他們唯一索引SQL,我而不是手動檢查每條記錄,因爲這樣會比較慢。LINQ到使用忽略重複鍵的選項和標識列

它引發以下:

InvalidOperationException異常: 空值不能被分配到與類型System.Int32一個部件,其是一種非空值類型。

我假設這是因爲返回到主鍵字段(它是一個IDENTITY列)的L2S的值爲空。對我來說,這看起來幾乎就像一個錯誤。

任何人有任何想法,除個別插入與try/catch或手動檢查?

回答

0

您可以將屬性更改爲空。這看起來更像是一個解決方案而已。您可以在生成的代碼中更改它(壞主意)或創建一個子類和新的關鍵字。

int? ID;

+0

我真的不想改變生成的代碼,我怎麼能做到這一點與子類,仍然保持正常的功能有LINQ到SQL映射ID屬性?就目前而言,我只是一次提交一個,並捕捉異常:/ – 2011-02-09 10:39:29