0

我有两个表,我必须插入到

表一:项目

  • 项目编号
  • 姓名
  • 描述

表 2:访问

  • ID
  • 用户身份
  • 项目编号

现在我将 ASP.NET MVC 4 与 Entity Framework 一起使用,现在我的问题是如何插入这两个表?

我的意思是我知道我可以使用 EF 对表 1 进行插入,但是我需要 projectId(由第一次插入生成)来进行第二次插入。

我不知道该怎么做。请有人指导我

4

2 回答 2

3

保存对象时,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.
}
于 2012-11-10T09:57:21.857 回答
2

公共行动结果索引()

{

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

}

于 2012-11-27T06:06:52.417 回答