2008-12-16 67 views
8

如何在將數據保存到數據庫後獲取記錄ID。我的意思是這樣的。使用LINQ to SQL獲取ID

我有文檔類(這是從數據庫實體壽)和像

Document doc = new Document() {title="Math",name="Important"}; 
dataContext.Documents.InsertOnSubmit(doc); 
dataContext.SubmitChanges(); 

不是我想要的是檢索它的值id(的docId),它位於數據庫中,我創建一個實例,它的主要鍵也自動編號。有一件事,系統中會有很多用戶,並提交大量這樣的記錄。

在此先感謝大家:)

+0

我想你應該取消將其作爲社會的維基。 – 2008-12-16 06:22:08

+0

好吧,但我實際上並不知道社區Wiki的含義? – Tarik 2008-12-16 07:53:01

回答

12

一旦你已經運行.SubmitChanges然後doc.docId應與已在數據庫上創建的ID來填充。

2

Linq to SQL確實會在默認情況下更改跟蹤。所以一旦你的行被插入,你的對象就會被更新並添加到datacontext中。您的文檔集合中將有一個新的有效行。

This Charlie Calvert的博客文章有一些很好的Linq樣本供下載。我保留僅供參考。

5

像其他人說你應該能夠做這樣的事情:

Document doc = new Document() {title="Math",name="Important"}; 
dataContext.Documents.InsertOnSubmit(doc); 
dataContext.SubmitChanges(); 

然後獲得與編號:

int ID = doc.docId;