winform使用EF框架,codefirst创建数据库成功,创建表失败(sqlite)

不脱发的牧码人 2016-08-30 09:42:15


将已经创建好的数据库删除之后,重新创建就会报错表xxx找不到,必须重新启动应用程序才可以创建成功,然而,sqlserver是好的,详细的删除库方法如下:



创建库:


...全文
894 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
wolongbb 2016-11-25
  • 打赏
  • 举报
回复 1
我看到11楼12楼那个人我就烦,什么玩意,问题解决不了,就会瞎BB!建议楼主参考这篇博客!http://www.cnblogs.com/chenwolong/p/3824107.html
  • 打赏
  • 举报
回复
数据库系统通常会维护一个(至少一个)主文件,一直保持其可用。针对数据库编程的时候并不应该动不动就删除文件。你的逻辑是针对数据库内部的对象进行清理、升级,尤其不应该从删除文件的角度去设计。 当你的程序考虑的“人工”流程稍微复杂了之后,更加专门了之后,你尤其不敢用删除文件的方式来处理数据库升级动作。所谓“数据库更改”,或者更好的命名叫做“数据库升级”,应该是“在版本15之后自动按照脚本顺序升级为16、17、18版本”这类动作。
  • 打赏
  • 举报
回复
我不用 ef,这个部分我不知道它如何处理的。 但是给你个建议:数据库系统并不会去删除文件,而是清除文件内容。对于底层的 ADO.NET 操作 DDL 来说,就是drop table 等等操作,而并不是删除文件本身。
  • 打赏
  • 举报
回复
删除文件之后不要立刻(瞬间)重建文件。你在逻辑设计上,为数据库文件换一个名字吧。
  • 打赏
  • 举报
回复
继续顶贴,这问题已经困扰我好长时间了。、
  • 打赏
  • 举报
回复
引用 10 楼 sp1234 的回复:
删除文件之后不要立刻(瞬间)重建文件。你在逻辑设计上,为数据库文件换一个名字吧。
其实也没有瞬间重建,两个不同的按钮点击操作,时间差肯定足够EF反应过来,不过,换了数据库文件名字后,确实好了,这个问题总算是另辟吸金解决了,感谢@以专业开发人员为伍 的不吝赐教,感谢!
  • 打赏
  • 举报
回复
引用 7 楼 D56233577 的回复:
你生成表的代码呢?
codefirst
D56233577 2016-09-02
  • 打赏
  • 举报
回复
你生成表的代码呢?
  • 打赏
  • 举报
回复
引用 5 楼 q107770540 的回复:
you need to submit your changes after delete the database at step1.



加上去还是老样子,我怀疑是删除sqlite数据库的方式不对,但是sqlite不支持DataBase.Delete()



删除数据库后,重建数据库


初始化,插入数据时,发现没有表,随即报错
q107770540 2016-09-02
  • 打赏
  • 举报
回复
you need to submit your changes after delete the database at step1.
  • 打赏
  • 举报
回复
EF6.0求各路大神来围观,求帮助。@caozhy ,@兔子党-督察 ,@wuyazhe,@xming4321,@taomanman,@blueink_200451
  • 打赏
  • 举报
回复
引用 2 楼 LFH__ 的回复:
return db.savechanges()>0
不是判断返回值的问题,当前的状况是不知道为什么会savechanges失败。。。
LFH__ 2016-09-01
  • 打赏
  • 举报
回复
return db.savechanges()>0
  • 打赏
  • 举报
回复
自己顶起!

111,083

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧