我的代码和Linq to sql
函数SubmitChanges
正在工作,但当使用local database
时,会更新bin
文件夹中数据库的副本,而不是主数据库。因此,这些更改不会显示在新查询中。如果我重新连接数据库,但没有将其加载为local
,同样的问题是主数据库没有更新,但现在我不知道是哪一个(回答这个问题)。
本地数据库的设置是什么?或者我如何使用非本地数据库来显示数据库的新查询的更改?
Dim DATA As New lnqPolarisDataContext
Dim newBOOK As New BOOK()
newBOOK.ID = 14
newBOOK.LEG = 11
newBOOK.P_C = "C"
newBOOK.STRATEGY = "STRADDLE"
newBOOK.STRIKE = 999
newBOOK.CONTRACT = "XXX"
DATA.BOOKs.InsertOnSubmit(newBOOK)
DATA.SubmitChanges()
... new query doesn't show these changes
也许这是最好的方法?
在我看来,真正的解决方案是将您的数据库放在它所属的服务器上-毕竟,SQL server是一个基于服务器的解决方案,而不是一个基于文件的"数据库"。。。。。
-
安装SQL Server Express(而且您已经安装了)
-
安装SQL Server Management Studio Express
-
在SSMS Express中创建数据库,并为其指定一个逻辑名称(例如
YourDatabase
) -
使用其逻辑数据库名称(在服务器上创建时给定)连接到它,并且不要干扰物理数据库文件和用户实例。在这种情况下,您的连接字符串将类似于:
Data Source=.\SQLEXPRESS;Database=YourDatabase;Integrated Security=True
其他一切都与以前完全一样。。。
另请参阅Aaron Bertrand的优秀博客文章《坏习惯:使用AttachDbFileName获取更多背景信息》。