我有两个表,我必须插入到
表一:项目
- 项目编号
- 姓名
- 描述
表 2:访问
- ID
- 用户身份
- 项目编号
现在我将 ASP.NET MVC 4 与 Entity Framework 一起使用,现在我的问题是如何插入这两个表?
我的意思是我知道我可以使用 EF 对表 1 进行插入,但是我需要 projectId(由第一次插入生成)来进行第二次插入。
我不知道该怎么做。请有人指导我
我有两个表,我必须插入到
表一:项目
表 2:访问
现在我将 ASP.NET MVC 4 与 Entity Framework 一起使用,现在我的问题是如何插入这两个表?
我的意思是我知道我可以使用 EF 对表 1 进行插入,但是我需要 projectId(由第一次插入生成)来进行第二次插入。
我不知道该怎么做。请有人指导我
保存对象时,EF 将填充插入对象的自动生成的 Key 字段:
public ActionResult Index() {
var ctx = new FooBarDbContext();
var foo = new Foo();
foo.Bar = "FooBar";
ctx.Foos.Add(foo);
ctx.SaveChanges();
// now you have the Id for Foo object.
var bar = new Bar();
bar.FooId = foo.Id;
ctx.Bars.Add(bar);
ctx.SaveChanges();
// do what you need now.
}
公共行动结果索引()
{
ProjectContext db = new ProjectContext ();
var project = new Project();
var access = new Access();
project.Name = “Project Name”;
project.Description = “Project Description”;
access.UserId = 1; // Fill with your userId
access.Project = project;
db.Access.Add(access);
db.SaveChanges();// save project and access
}
// 在模型文件夹中
公共类 ProjectContext:DbContext
{
public DbSet<Project> User { get; set; }
public DbSet<Access> Contact { get; set; }
}
// 同样在访问类中,您必须定义项目
公共类访问
{
[Key]
public int id{ get; set; }
public int UserId {get;set;}
[ForeignKey("Project")]
public int ProjectId { get; set; }
public virtual Project Project { get; set; }
// This line make relation between project and access
}