【问题标题】:How to insert a record with LINQ and C# and return the Primary Key of that record如何使用 LINQ 和 C# 插入记录并返回该记录的主键
【发布时间】:2008-11-06 14:32:41
【问题描述】:

编写插入记录然后使用 C# 返回新插入记录的主键的 LINQ 查询的最佳方法是什么?

【问题讨论】:

    标签: c# linq


    【解决方案1】:

    主键值将在 SubmitChanges() 之后的该属性中。

    MyTable record = new MyTable();
    record.Name = "James Curran";
    db.MyTable.InsertOnSubmit(record);
    db.SubmitChanges();
    Console.WriteLine("record inserted as ID : {0}", record.Id);
    

    【讨论】:

    • 第 3 行有一个错字,应该是 InsertOnSubmit(record)
    • InsertOnSubmit() 不起作用。 db.MyTable.Add(record);
    【解决方案2】:
    // Create a new Order object.
    Order ord = new Order
    {
        OrderID = 12000,
        ShipCity = "Seattle",
        OrderDate = DateTime.Now
        // …
    };
    
    // Add the new object to the Orders collection.
    db.Orders.InsertOnSubmit(ord);
    
    // Submit the change to the database.
    try
    {
        db.SubmitChanges();
    }
    catch (Exception e)
    {
        Console.WriteLine(e);
        // Make some adjustments.
        // ...
        // Try again.
        db.SubmitChanges();
    }
    return ord.OrderID;
    

    【讨论】:

      【解决方案3】:

      任何 AutoGeneratedValue=true 的字段将在该记录通过 dc.SubmitChanges() 提交到数据库后填写

      【讨论】:

        猜你喜欢
        • 2017-11-24
        • 1970-01-01
        • 2012-09-28
        • 1970-01-01
        • 2013-08-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-01
        相关资源
        最近更新 更多