在 MVC4 和 EF 5 中使用 ASP.Net/C#。我有一个基本模型,其中通过 id 链接到其他几个模型。例如
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; }
}
Demographics 有一个带有 personId 的外键。当他们添加一个人时,他们会被派去填写人口统计信息。但是,由于人口统计数据具有 personId 的外键,因此我需要创建人员记录。
我可以在进入人口统计 View 之前创建人员,如下所示:
Person person = new Person();
person.UserId = curuser.UserId;
person.UserProfileSite = curuser.Site;
person.Created = DateTime.Now;
db.Persons.Add(person);
db.SaveChanges();
如何获取刚刚保存到数据库中的记录的 personId,以便将其传递给我的 Demographics,以便模型具有 personId 的外键?
最佳答案
假设您没有在 Entity Framework 内关闭 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;
关于entity-framework - 获取刚刚保存到数据库 MVC4 ASP.Net 的模型的记录 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15007726/