使用LINQ to SQL获取Id

将其保存到数据库后如何获取记录ID。 我的意思实际上是这样的。

我有Document类(来自DataBase的实体),我创建了一个像

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

比我想要的是检索它的id值(docId),它位于数据库中,它的主键也是自动编号。 有一件事,系统上会有很多用户提交大量的记录。

在此先感谢大家:)

运行.SubmitChanges之后,应该使用在数据库上创建的Id填充doc.docId。

就像每个人都说你应该能够做到这样的事情:

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

然后获得Id:

 int ID = doc.docId; 

Linq to SQL默认情况下会更改跟踪。 因此,一旦插入了行,您的对象就会更新并添加到datacontext中。 您将在文档集合中拥有一个新的有效行。

Charlie Calvert撰写的这篇博文有一些很好的Linq样本可供下载。 我保留它仅供参考。