【问题标题】:Get Id using LINQ to SQL使用 LINQ to SQL 获取 ID
【发布时间】:2010-09-27 02:23:18
【问题描述】:

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

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

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

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

提前谢谢大家:)

【问题讨论】:

  • 我认为您应该将其取消标记为社区 wiki。
  • 好的,但我不知道 Community Wiki 到底是什么意思?

标签: c# asp.net linq-to-sql .net-3.5


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    然后通过以下方式获取 ID:

    int ID = doc.docId;
    

    【讨论】:

      【解决方案3】:

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

      This Charlie Calvert 的博客文章有一些不错的 Linq 示例可供下载。我保留它仅供参考。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-23
        • 1970-01-01
        • 1970-01-01
        • 2013-02-13
        • 1970-01-01
        • 2010-10-06
        • 1970-01-01
        • 2013-06-24
        相关资源
        最近更新 更多