Подтвердить что ты не робот

Entity Framework 4 получает идентификатор первичного ключа для вставленной записи

Я использую Entity Framework для вставки строки в базу данных sql. Если бы я должен был использовать хранимую процедуру, тогда я смог бы вернуть первичный ключ для записи, которую я вставил.

Можно ли вернуть PK для последней моей последней записи, вставленной с помощью Entity Framework?

4b9b3361

Ответ 1

После того, как вы вставили объект, он должен был быть обновлен, чтобы свойство, которое отображает первичный ключ в базе данных, имеет новое значение PK.

Ответ 2

Да, конечно, вы можете это сделать. Пример:

int id = 0;

using (PC2Entities objectContext = new PC2Entities())
{
   objectContext.ClientContacts.AddObject(clientContact);
   objectContext.SaveChanges();
   id = clientContact.Id;

   transaction.Complete();
}

id является PK.

Ответ 3

Если вы еще не получили идентификатор после вставки, добавьте этот атрибут в свойство первичного ключа.

[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
 public string ID { get; set; }

Я должен был сделать это, не знаю, почему, может быть, потому, что я использую рамки oracle и сущности, не радует этого.