SubmitChanges() 更新 bin 文件夹中的数据库

SubmitChanges() updates database in bin folder

我的代码和 Linq to sql 函数 SubmitChanges 工作正常,但是当使用 local database 时,bin 文件夹中的数据库副本被更新,而不是主数据库。因此,更改不会显示在新查询中。如果我重新连接数据库但不加载它作为 local 同样的问题 - 主数据库没有更新,但现在我不知道是哪个(感谢这个 question ).

本地数据库的设置是什么,或者我如何使用非本地数据库来显示数据库新查询的更改?

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

也许 this 是最好的方法?

我认为真正的解决方案是将您的数据库放在它所属的服务器上——毕竟,SQL 服务器 一个 server-based 解决方案,而不是 file-based "database".....

  1. 安装 SQL Server Express(无论如何你已经完成了)

  2. 安装SQL Server Management Studio Express

  3. SSMS Express 中创建您的数据库,为其指定一个合乎逻辑的名称(例如 YourDatabase

  4. 使用它的逻辑 数据库名称 连接到它(当你在服务器上创建它时给定) - 不要乱用物理数据库文件和用户实例。在这种情况下,您的连接字符串将类似于:

    Data Source=.\SQLEXPRESS;Database=YourDatabase;Integrated Security=True
    

    其他一切完全和以前一样...

另请参阅 Aaron Bertrand 的精彩博客 post Bad habits to kick: using AttachDbFileName 了解更多背景信息。