Какой лучший способ написать запрос LINQ, который вставляет запись, а затем возвращает первичный ключ этой недавно вставленной записи с помощью С#?
Как вставить запись с 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);
Ответ 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()