在我的应用程序中,我正在使用Entity Framework,并使用与此类似的代码添加一行。
DatabaseContext.Orders.Add(newOrder);
DatabaseContext.SaveChanges();
我使用SQL Management Studio检查了数据库,我可以看到新行。这是昨天,到目前为止一直很好。
今天我加载了我的解决方案并再次运行并添加了另一行。 在我的应用程序中,如果我执行以下
DatabaseContext.Orders.Count();
我得到的数量是2,正如您所期望的那样,但如果我打开SQL Management Studio和Select all
或select 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中看到它们。
我想这个问题已经解决了,但我更倾向于首先了解问题的根源是什么。
答案 0 :(得分:0)
我试过关闭visual studio并重新启动它,
没有理由这样做