2013-02-21 49 views
3

使用ASP.Net/C#與MVC4和EF 5.我有一個基本模型,其中幾個其他模型通過id鏈接到。例如,獲取剛剛保存到數據庫的模型的記錄標識MVC4 ASP.Net

public class Person 
    { 
     public int Id { get; set; } 
     public DateTime? Created { get; set; } 
     public DateTime? Submitted { get; set; } 
     public DateTime? Finalized { get; set; } 

     public string UserProfileSite { get; set; } 
     public int UserId { get; set; } 

     public virtual ICollection<Demographic> Demographics { get; set; } 
     public virtual ICollection<Demographic> Demographics { get; set; } 
    } 

人口統計信息具有personId的外鍵。當他們添加他們發送的人員填寫人口統計信息時。然而,由於人口統計信息有一個人員密鑰,我需要創建人員記錄。

我纔去人口統計創建人查看如下:

Person person = new Person(); 
person.UserId = curuser.UserId; 
person.UserProfileSite = curuser.Site; 
person.Created = DateTime.Now; 
db.Persons.Add(person); 
db.SaveChanges(); 

如何獲得備案的我只是保存到數據庫中,將personId這樣我就可以把它傳遞給我的人口統計學所以模型有personId的外鍵嗎?

回答

13

假設你沒有實體框架內翻changeTracking的,你應該能夠簡單地獲取對象的ID將其保存到數據庫中

Person person = new Person(); 
person.UserId = curuser.UserId; 
person.UserProfileSite = curuser.Site; 
person.Created = DateTime.Now; 
db.Persons.Add(person); 
db.SaveChanges(); 
var personId = person.Id; 
+0

感謝您的快速響應之後。 – Xaxum 2013-02-22 21:36:45

相關問題