【问题标题】:How to simulate a data exception with localdb如何使用 localdb 模拟数据异常
【发布时间】:2013-09-07 00:35:36
【问题描述】:

我在 ASP.NET MVC 项目中使用带有 EntityFramework 的 LocalDB 数据库。

如何模拟连接失败来测试下面的 try...catch 块?

try
{
   if (ModelState.IsValid)
   {
      db.Entry(course).State = EntityState.Modified;
      db.SaveChanges();
      return RedirectToAction("Index");
   }
}
catch (DataException)
{

   ModelState.AddModelError("", "Unable to save changes.");
}

我尝试在 SQL 管理工作室中使数据库脱机,但它只是挂起。我无法停止 SQL 服务,因为 LocalDB 不作为服务运行。

【问题讨论】:

    标签: sql-server asp.net-mvc entity-framework localdb


    【解决方案1】:

    您是否尝试过给它一个不存在的 LocalDB 实例名称?只需将其放入此测试的连接字符串中即可:

    Server=(localdb)\missing_instance`
    

    (如果您在代码中嵌入此连接字符串,请不要忘记转义 \ 字符 :-))

    connectionString="Server=(localdb)\\missing_instance;..."
    

    【讨论】:

      【解决方案2】:

      即使 LocalDB 实例不作为服务运行,您也可以停止它,您可以使用 SQLLocalDB.exe 工具来执行此操作:

      SqlLocalDB Utility

      【讨论】:

      • 除非我每次停止实例,然后运行我的代码,LocalDB 会重新启动...!
      猜你喜欢
      • 2021-09-08
      • 2011-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-06
      • 2010-11-16
      • 1970-01-01
      • 2013-01-24
      相关资源
      最近更新 更多