0

我有一个 SQL Server 2008 Express 版数据库,我正在使用 Linq-to-SQL 通过 Windows 应用程序向其中插入数据。我知道数据存在于数据库中,因为当我查询数据库时,我得到了一些数据,但在 SQL Server Management Studio 中,当我右键单击表并单击偶数时:“编辑前 200 行”或“选择前 1000 行”我不能查看任何数据!有什么帮助吗?

4

2 回答 2

2

假设您使用的是User Instance 和 AttachDbFileName=方法 - 我认为这种方法存在严重缺陷。Visual Studio 将在.mdf文件周围进行复制,并且很可能,您的INSERT工作正常 - 但您最终只是查看了错误的 .mdf 文件

如果您想坚持使用这种方法,请尝试在myConnection.Close()调用上设置断点 - 然后.mdf使用 SQL Server Mgmt Studio Express 检查文件 - 我几乎可以肯定您的数据在那里。

我认为真正的解决方案是

  1. 安装 SQL Server Express(反正你已经完成了)

  2. 安装 SQL Server Management Studio Express

  3. 在SSMS Express中创建您的数据库,给它一个逻辑名称(例如VictoryDatabase

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

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

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

于 2012-09-09T19:07:19.807 回答
1

我相信 LinqToSql 有一个“保存”命令,它实际上将数据写入数据库。在此之前,您只是将其保存在内存中。

ETA:查看这个问题及其答案

于 2012-09-09T17:53:36.043 回答