C# 无效的对象名称,即使该对象是有效的

C# 无效的对象名称,即使该对象是有效的,c#,asp.net-mvc,entity-framework,unit-testing,C#,Asp.net Mvc,Entity Framework,Unit Testing,我有一个单元测试的结果。当我运行单元测试时,它在db.SaveChanges()处中断操作结果的一部分。当我测试实际的方法时(通过web浏览器和数据库中的数据),它是好的,但是当我运行单元测试时它失败了。我收到的错误是:用户代码未处理DbUpdateException。请参阅内部异常,内部异常:{“无效的对象名称'dbo.Projects'。} 我正在使用entityframeworks codefirst结构,下面是我的代码: [ValidateAntiForgeryToken] [Autho

我有一个单元测试的结果。当我运行单元测试时,它在
db.SaveChanges()处中断操作结果的一部分。当我测试实际的方法时(通过web浏览器和数据库中的数据),它是好的,但是当我运行单元测试时它失败了。我收到的错误是:用户代码未处理DbUpdateException。请参阅内部异常,内部异常:
{“无效的对象名称'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 server的异常。这意味着dbo架构中不存在表


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

我的数据库中确实存在此问题,并且架构正确。如果我通过controllers actionresult方法设置断点,那么只有当我运行单元测试时,它才会正常工作,不会给出错误。我觉得单元测试或EF可能对我的dbcontext模型做了什么?检查测试项目中app.config中的连接字符串