Asp.net mvc 获取最近插入的Id并发送到另一个控制器视图

Asp.net mvc 获取最近插入的Id并发送到另一个控制器视图,asp.net-mvc,asp.net-mvc-4,entity-framework-6,Asp.net Mvc,Asp.net Mvc 4,Entity Framework 6,编辑: 我已经为每个模态创建了CRUD函数,现在我正在尝试获取最近插入的Id,并在不同的视图中使用它。 这是我到目前为止所做的尝试 我为每个Contextenties db创建了2个基于classesLayer的for CRUD函数,以实践纯OOP递归方法,下面是代码 1.接入层 违反者数据库 现在,这里是主要部分,在执行插入时,如何在另一个名为Dues的控制器中获得perticuller插入id 在sqlqery中我会使用@@IDENTITY,但在实体框架中我不确定。 我是mvc框架的新手,任

编辑: 我已经为每个模态创建了CRUD函数,现在我正在尝试获取最近插入的Id,并在不同的视图中使用它。 这是我到目前为止所做的尝试

我为每个Contextenties db创建了2个基于classesLayer的for CRUD函数,以实践纯OOP递归方法,下面是代码

1.接入层 违反者数据库

现在,这里是主要部分,在执行插入时,如何在另一个名为Dues的控制器中获得perticuller插入id

在sqlqery中我会使用@@IDENTITY,但在实体框架中我不确定。
我是mvc框架的新手,任何建议或帮助都将提前感谢。

保存数据库上下文后,EF会自动将id填充回实体

比如说

using(var context = new DbContext())
{
  var employee = new Employee(); //this has an id property
  context.Employees.Add(employee);
  context.SaveChanges();
  var id = employee.id; // you will find the id here populated by EF
}

您不需要添加和保存表,因为您已经在voilatorDB类中这样做了,只需获取最后一个id,如下所示

    var id = yourTableName.Id;
db.yourTableName.find(id);
或者,您可以使用VoilatorBs类函数简单地编写一行代码来实现这一点

GetbyID(id);

您可能想添加到目前为止您已经尝试过的内容。是的,我已经尝试过。我不知道应该使用什么方法。W8让我更新我迄今为止尝试过的代码。我在使用insert函数时保存了db,那么我该怎么办?请查看我上传的代码,我希望tlb_Voilator.id将其插入tbl_Dues。您可以使用TempData在MVC中跨重定向持久化值,而不是使用ViewBag,请参见此处
using(var context = new DbContext())
{
  var employee = new Employee(); //this has an id property
  context.Employees.Add(employee);
  context.SaveChanges();
  var id = employee.id; // you will find the id here populated by EF
}
    var id = yourTableName.Id;
db.yourTableName.find(id);
GetbyID(id);