2015-05-15 37 views
1

請,我需要幫助找回我已經插入Oracle數據庫中的對象的ID(主鍵)對象ID,許多建議說:得到與Oracle DATABSE插入數據庫在asp.net MVC後

context.Entity.add(myObject); 
context.SaveChanges(); 
int x=myObject.ID; 

但這沒有奏效。 當我試圖在下面的語句x到打印控制器:

return View(x.ToString()); 

(因爲我不能打印以另一種方式這個值),我收到值「0」,但是當我打開數據庫I找到一個值(不是「0」) 我的oracle數據庫有序列和觸發器來分配ID給myObject。 我不知道問題出在哪裏,在數據庫中?或數據庫和MVC之間的兼容性問題? 先進的謝謝:)

+0

你應該在這個問題上添加EntityFramework作爲標籤。 –

+0

謝謝@托馬斯 – Alaa

回答

0

問題出在你的模型上。 EF需要知道有問題的字段在數據庫中設置。

在模型中,添加DatabaseGenerated選項是這樣的:

public class myObject 
{ 
    [Key] 
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public int ID { get; set; } 
    ... 
} 

可以與DatabaseGeneratedOption使用的options已計算(在插入和更新產生),身份(在刀片上產生) ,和(未生成)。

一旦你這樣做,EF知道從保存後從數據庫返回值。否則,它假定db沒有觸及你發送的值。

+0

非常感謝:) :)弗蘭克盧克 – Alaa

相關問題