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。
您是否在 bin/debug 文件夹中查找了数据库文件的副本。
可能的解决方案:
不要在项目中包括数据库文件。
不要在连接字符串中使用 DataDirectory 宏,而是设置为固定路径,可能在运行时使用。
你只是更新你的实体的属性,你必须定义你的实体被更改(修改)使用:
context.Entry(line).State = System.Data.Entity.EntityState.Modified;
之后,使用context.SaveChanges();
保存更改