Ответ 1
После того, как вы вставили объект, он должен был быть обновлен, чтобы свойство, которое отображает первичный ключ в базе данных, имеет новое значение PK.
Я использую Entity Framework для вставки строки в базу данных sql. Если бы я должен был использовать хранимую процедуру, тогда я смог бы вернуть первичный ключ для записи, которую я вставил.
Можно ли вернуть PK для последней моей последней записи, вставленной с помощью Entity Framework?
После того, как вы вставили объект, он должен был быть обновлен, чтобы свойство, которое отображает первичный ключ в базе данных, имеет новое значение PK.
Да, конечно, вы можете это сделать. Пример:
int id = 0;
using (PC2Entities objectContext = new PC2Entities())
{
objectContext.ClientContacts.AddObject(clientContact);
objectContext.SaveChanges();
id = clientContact.Id;
transaction.Complete();
}
id
является PK.
Если вы еще не получили идентификатор после вставки, добавьте этот атрибут в свойство первичного ключа.
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public string ID { get; set; }
Я должен был сделать это, не знаю, почему, может быть, потому, что я использую рамки oracle и сущности, не радует этого.