2009-07-25 145 views
1

我有一個表白衣2列,ID和名稱。我爲ID列設置'YES'標識。自動生成LINQ到SQL

我想插入數據到表格中。LINQ。我想在應用程序中只獲取用戶的名稱列,然後ID列自動填充到數據庫,我不能給數據列和填充缺省我給它。

我該怎麼辦?

我在c#中編寫並工作在LINQ。

回答

5

所以你的數據庫字段已經是一個INT IDENTITY - 對嗎?

接下來,在你的LINQ to SQL設計,你需要確保你的列設置爲:

  • 自動生成的值= TRUE
  • 自動同步= ON INSERT

enter image description here

現在,如果向數據庫添加條目,則該ID將自動由數據庫分配給它的值更新:

YourClass instance = new YourClass(); 
instance.Name = "some name"; 

YourDataContext.InsertOnSubmit(instance); 
YourDataContext.SubmitChanges(); 

在SubmitChanges調用之後,您的instance.ID現在應該包含數據庫中的ID。

0

如果您使用了DBML設計器,則應該正確設置。

調用SubmitChanges後,將會填充'id'。

+0

我該如何做這項工作? 這是我的問題,我不能這樣做。 – 2009-07-25 20:33:09

0

確保您的數據庫表安裝正確,並且您的ID設置爲主鍵字段並自動遞增。如果需要刪除對象並重新添加,請重新生成DBML。它應該知道該ID不是必需的,並且插入成功後自動填充它。