WinForms SQL Server CE Entity FW 6 - 不将实体保存到DB

本文关键字:实体 保存 DB Server SQL CE Entity FW WinForms | 更新日期: 2023-09-27 18:35:09

我有一个使用 EF 6 和 SQL Server CE 4 的 Winforms 应用程序。我有一个简单的数据库优先 edmx 模型。从数据库读取工作正常,但保存则不然。

保存方法非常简单:

using (var context = new ConfigEntities())
{
    Data line = context.Data.Find(1);
    line.IPAddress = txtIPAddress.Text;
    line.Port = txtPort.Text;
    context.SaveChanges();
}

它以单独的形式发生,当我执行此操作保存并再次打开表单以填充文本框时,数据就在那里。在上下文中。它只是不会保存到本地SQL Server CE DB。

WinForms SQL Server CE Entity FW 6 - 不将实体保存到DB

您是否在 bin/debug 文件夹中查找了数据库文件的副本。

可能的解决方案:

不要在项目中包括数据库文件。

不要在连接字符串中使用 DataDirectory 宏,而是设置为固定路径,可能在运行时使用。

你只是更新你的实体的属性,你必须定义你的实体被更改(修改)使用:

context.Entry(line).State = System.Data.Entity.EntityState.Modified;  

之后,使用context.SaveChanges();保存更改