C#使用SQL Server Compact Edition和ADO Entity Framework"无法保存"数据的问题
坑爹吐戴斯!
使用Entity Framework建立实体模型,利用实体模型创建 SQL Server Compact 数据库(sdf格式),非常流畅的步骤. sdf 数据库是SQL Server为本地化使用设计的数据库格式,基本处于access和mdf之间的地位,在visual studio中被称为本地数据库,适宜单机项目使用. 唯一的不足在于不能够附加到SQL server数据库上,因此也不能够用Management studio管理,只能用visual studio自带的编辑器.
背景就这么多.我们使用Linq完成数据库管理,要把更改提交到数据库中,恩,很简单的一句db.SaveChanges(),但是,无论结果提交的多么成功,刷新查看我们的数据库,尼玛的一直是空白有木有.
几乎翻遍了网络,深刻体会了SaveChanges(true)和SaveChanges(false)在事务处理中的作用,学习了Refresh解决脏写的问题,知道了Detach和Delete的区别,以及怎么样聪数据集中滤掉一个元素,可这个不能保存数据库的问题怎么就是不能够解决呢?
ADO SaveChanges无法保存数据
ADO SaveChanges cannot save data
EntityFramework and SQL Server Compact
SaveChanged and sdf
好吧,上面只是为了优化搜索引擎性能
茫茫网络中还是零星的飘零着一些璀璨的珍珠,只可惜它藏得这么深,让我们苦苦追寻却总是擦肩而过.我们伟大的解决方案就是这样的渺小,被google隐藏在第3名,而且还是在第11楼;如果不是因为是最后一楼多看一眼,恐怕永远也找不到了
颤抖吧~~
尼玛的原因是,sdf文件会被当做一个dll输出到bin/debug目录里,因此每生成一次就把源代码文件夹里的空白数据库复制到输出路径里;因此每次运行程序我们看到的数据库都是空白的.能不这么坑人么?