编辑记录时在表格中插入记录

时间:2016-01-21 11:46:25

标签: asp.net-mvc entity-framework asp.net-mvc-4 controller

我正在使用ASP.NET MVC5。我创建了两个表,第一个是票证,另一个是AuditTrails。两个表具有相同的列,但AuditTrails还有一个coloumns,即每次更新票证时保存当前日期的日期。

拥有这两个表的目的是跟踪DB中所做的更改。

我需要编辑编辑控制器,以便在编辑故障单表时在AuditTrails表中添加新记录。

下面列出了我在编辑POST控制器中所做的事情:

[HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult ITSEdit([Bind(Include = "ID,Name,Badge,Phone,Email,Department,Location,Issue_Category,Description,CREATION_DATETIME,CREATED_BY,CLOSED_DATETIME,CLOSED_BY,LAST_UPDATE_DATETIME,LAST_UPDATE_BY,STATUS,ASSIGNED_TO,NOTE,Busenise_Type,Date")] Ticket ticket)
    {
        if (ModelState.IsValid)
        {

            if (ticket.STATUS == "Closed")
            {
                ticket.CLOSED_DATETIME = DateTime.Now;
                ticket.CLOSED_BY = User.Identity.Name;

            }
            else
            {
                ticket.LAST_UPDATE_BY = User.Identity.Name;
                ticket.LAST_UPDATE_DATETIME = DateTime.Now;
            }

            db.Entry(ticket).State = EntityState.Modified;
            db.SaveChanges();
            try { 
            var audit = new AuditTrail();
            audit.ID = ticket.ID;
            audit.Name = ticket.Name;
            audit.STATUS = ticket.STATUS;
            audit.Phone = ticket.Phone;
            audit.NOTE = ticket.NOTE;
            audit.Location = ticket.Location;
            audit.LAST_UPDATE_DATETIME = ticket.LAST_UPDATE_DATETIME;
            audit.LAST_UPDATE_BY = ticket.LAST_UPDATE_BY;
            audit.Issue_Category = ticket.Issue_Category;
            audit.Email = ticket.Email;
            audit.Description = ticket.Description;
            audit.Department = ticket.Department;
            audit.CREATION_DATETIME = ticket.CREATION_DATETIME;
            audit.CREATED_BY = ticket.CREATED_BY;
            audit.CLOSED_DATETIME = ticket.CLOSED_DATETIME;
            audit.Busenise_Type = ticket.Busenise_Type;
            audit.Badge = ticket.Badge;
            audit.ASSIGNED_TO = ticket.ASSIGNED_TO;
            audit.Date = DateTime.Now;
            //db.Entry(audit).State = EntityState.Added;
            //db.SaveChanges();
            db.AuditTrails.Add(audit);
            db.SaveChanges();
            }
            catch (NullReferenceException)
            {

            }
            return RedirectToAction("ITSDetails", new { id = ticket.ID });

        }
        return View(ticket);
    }

每次我在db.SaveChanges();

中收到错误

这是我得到的错误

  

无效的对象名称'dbo.AuditTrails'。

     

描述:执行期间发生了未处理的异常   当前的网络请求。请查看堆栈跟踪了解更多信息   有关错误的信息以及它在代码中的起源。

     

异常详细信息:System.Data.SqlClient.SqlException:无效的对象   名字'dbo.AuditTrails'。

任何人都可以帮助我。 在此先感谢,

0 个答案:

没有答案