簡體   English   中英

實體框架4獲取插入記錄的主鍵ID

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM