尽管对象有效,但对象名称无效

Invalid object name even though the object is valid

我有一个控制器 actionresult 的单元测试。当我 运行 单元测试时,它在操作结果的 db.SaveChanges(); 部分中断。当我测试实际方法(通过网络浏览器和数据库中的数据)时,它很好,但是当我 运行 我的单元测试失败时。我收到的错误是:用户代码未处理 DbUpdateException。查看内部异常,内部异常:{"Invalid object name 'dbo.Projects'."} 我正在使用 entityframeworks codefirst 结构,这是我的代码:

[ValidateAntiForgeryToken]
[Authorize(Roles = "A")]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult AddProject(Projects project)
{
   if (ModelState.IsValid)
   {
      using (var db = new MyDbContext())
      {
         db.ProjectModels.Add(project);
         db.SaveChanges();
      }
      return RedirectToAction("ListOfProjects", "Project");
   }
   return View(project);
}


[TestMethod()]
public void AddProjectTestWithModl()
{
    var controller = new AdminController();
    var model = new Projects() { Name = "Name", Description = "Desc", Duration = "1 month" };
    var result = controller.AddProject(model) as ViewResult;
    Assert.AreEqual(model, result.ViewData.Model);
}

对象名称无效 'dbo.Projects'。是 sql 服务器的异常。这意味着您的 table 在 dbo 架构中不存在。

检查您是否已连接到正确的数据库并且迁移已 运行。