This topic created in 1830 days ago, the information mentioned may be changed or developed.
表里新加字段,实体代码改动后,如何让数据库保持一致。搜到资料是用命令在文件夹里生成迁移脚本,这样脚本岂不是越来越多。这个数据库只是在用户客户端用的,这办法太繁琐也容易出错。
在表结构只做增量更新的需求下,有解决办法吗,EnsureCreated 方法只能创建新的数据库和实体一致
如果是 nosql 数据库就不用关心这个问题了,不过调研之后没有发现稳定成熟的嵌入式数据库,仍然用的 sqlite
10 replies 2021-05-17 22:24:31 +08:00  | | 1 Mithril May 16, 2021 所有数据库都是这么处理的吧?每次变更生成 Migration 。 |
 | | &nbp; 2 xuanbg May 16, 2021 好久没用 EF 了……我记得 EF 有三种设计模式:Code-First 、Model-First 、Database-First 。貌似只要不是 Database-First,就可以自动修改数据库表结构的。 |
 | | 4 alinwu05 May 16, 2021 因为生成的脚本可以和代码一个签入,这样其他人拉取你的代码后,也可以用脚本同步数据库。 |
 | | 5 forgottencoast May 16, 2021 生成新的脚本以后,启动客户端之前执行脚本即可。 所有的数据库程序都会有这个问题,要么 DBA 手工执行,要么就是部署程序执行。 新启动的客户端在创建数据库时,可以用合并过的脚本,这样只会有一个脚本创建数据库。 |
 | | 6 netnr May 17, 2021 via Android 更新表后重新生成实体类,业务实体用 ViewModel |
 | | 7 flytsuki May 17, 2021 我以前用 Code-First 模式开发,只需写代码就行了。后面场景复杂了就躺平了,修改完数据库手动修改实体 |
 | | 10 ggabc May 17, 2021 数据库这种需要稳定的底层结构,当然是每次添加了手动去执行脚本补充字段 |