实体框架不会保存数据库中的更改

时间:2017-07-30 19:10:35

标签: c# wpf database entity-framework

当我尝试将项目添加到数据库中时,在运行应用程序后,数据不会在数据库中长时间存储。我不知道为什么,连接很好,我已经多次检查过了。

col-xs-12

我正在使用VS 2017社区并编写WPF应用程序。

感谢帮助。

1 个答案:

答案 0 :(得分:2)

假设(来自之前的许多问题)您拥有SQL Server数据库,并且您的连接字符串很可能包含{{1输入 - 正确吗?

如果是这样的话:整个 AttachDbFileName = 方法是有缺陷的 - 至多!在Visual Studio中运行应用程序时,它将复制AttachDbFileName=.....文件(从.mdf目录到输出目录 - 通常是App_Data - 应用程序运行的地方)和最有可能,您的.\bin\debug工作正常 - 但您最后只是查看错误的.mdf文件

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

我认为真正的解决方案将是

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

  2. 安装SQL Server Management Studio Express

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

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

    YourDatabase

    其他所有内容都完全与以前相同......

  5. 另请参阅Aaron Bertrand的优秀博客文章Bad habits to kick: using AttachDbFileName以获取更多背景信息。