[英]Entity Framework 4 getting primary key ID for inserted record
我正在使用實體框架在我的sql數據庫中插入一行。 如果要使用存儲過程,則可以返回插入記錄的主鍵。
我是否可以使用實體框架返回最后插入的最后一條記錄的PK?
插入實體后,應該已對其進行了更新,以便映射到數據庫中主鍵的屬性具有新的PK值。
是的,您當然可以這樣做。 參見示例:
int id = 0;
using (PC2Entities objectContext = new PC2Entities())
{
objectContext.ClientContacts.AddObject(clientContact);
objectContext.SaveChanges();
id = clientContact.Id;
transaction.Complete();
}
id
是PK。
對於Oracle.ManagedDataAccess.EntityFramework(版本6.121或更早版本)
如果插入后仍未獲得ID,則在主鍵屬性上添加此屬性。
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public string ID { get; set; }
我不得不這樣做,不知道為什么,可能是因為我使用的是oracle,而實體框架對此並不滿意。
編輯:我看到這個答案被否決了,我知道為什么,因為ODAP的最新版本不需要您放入[DatabaseGenerated(DatabaseGeneratedOption.Identity)]。 但這對於較舊的版本是正確的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.