Как получить идентификатор при вставке строки в БД с помощью linq - PullRequest
2 голосов
/ 21 августа 2009

Как получить идентификатор при вставке строки в БД с помощью linq?

Ответы [ 2 ]

4 голосов
/ 21 августа 2009

Если для свойства этой строки «ID» установлено значение «Auto-Generated Value» = true, а для «Auto-Sync» - «OnInsert»

alt text

..... просто прочитайте его после того, как вы сохранили изменения, используя .SubmitChanges(). Никаких специальных трюков или чего-либо еще необходимого ...

Так, в случае с образцом NerdDinner:

using(NerdDinnerContext ctx = new NerdDinnerContext())
{
    Dinner upcoming = new Dinner();

    // set all properties for the dinner 
    upcoming.EventDate = DateTime.Today.AddDays(30);

    ctx.Dinners.InsertOnSubmit(upcoming);
    ctx.SubmitChanges();

    int newDinnerID = upcoming.DinnerID;
}

Теперь «newDinnerID» должен содержать недавно добавленную IDENTITY.

Марк

1 голос
/ 21 августа 2009

LINQ to SQL должен автоматически получить идентификатор вставленного объекта и соответствующим образом обновить поле, сопоставленное первичному ключу, - если свойство сопоставленного PK помечено как [Column(IsDbGenerated=true)].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...