在SQL Management Studio中未显示的应用程序中添加了行

时间:2017-04-21 16:49:04

标签: c# sql-server-2016-localdb

在我的应用程序中,我正在使用Entity Framework,并使用与此类似的代码添加一行。

DatabaseContext.Orders.Add(newOrder);
DatabaseContext.SaveChanges();

我使用SQL Management Studio检查了数据库,我可以看到新行。这是昨天,到目前为止一直很好。

今天我加载了我的解决方案并再次运行并添加了另一行。 在我的应用程序中,如果我执行以下

DatabaseContext.Orders.Count();

我得到的数量是2,正如您所期望的那样,但如果我打开SQL Management Studio和Select allselect Top 1000,它只会显示1行,这是我昨天创建的第一行。< / p>

这怎么可能?

我的问题与这篇文章非常相似 Why do added records not show up in SQL Server management studio using SQL Serve Express?

然而,解决方案并没有解决我的问题。

我试过关闭visual studio并重新启动它,不知道为什么,但我想为什么不这样做。

另外,要检查实例,我在命令提示符下执行了以下行

sqllocaldb info

并返回MSSQLLocalDB

显然,我只创建了一个实例并且这个实例正在运行。

哦,只是一个快速的说明,我昨天不得不重新安装SQLLocalDB 2016,因为某些原因我的实例无法启动。

编辑:只是添加,我删除了SQL Management Studio中的所有行。应用程序仍然说有2行

EDITE 2:来自app.config的连接字符串

name =“DefaultConnection”connectionString =“data source =(LocalDB)\ MSSQLLocalDB; Initial catalog = TestDB; Integrated Security = True”providerName =“System.Data.SqlClient”     在这里输入代码

更新1: 所以我决定删除实例并通过执行以下操作重新创建它。

sqllocaldb stop MSSQLLocalDB

sqllocaldb delete MSSQLLocalDB

sqllocaldb create MSSQLLocalDB

SQL Management Studio现在显示零数据库。 然后我运行我的应用程序,它生成了数据库和表。 SQL Management Studio确认了这一点。 现在我从我的应用程序添加行,我也在SQL Management Studio中看到它们。

我想这个问题已经解决了,但我更倾向于首先了解问题的根源是什么。

1 个答案:

答案 0 :(得分:0)

  1. 在SQL Management Studio中查看您在应用程序中使用的相同数据库和表。检查连接配置文件。
  2. 只是为了检查 - 在插入之前添加DatabaseContext.Orders.Count()。
  3. 可能是您的代码中的另一部分可能会将数据重写为旧状态吗?
  4.   

    我试过关闭visual studio并重新启动它,

    没有理由这样做