实体框架中内置的对自动更新数据库的支持?(没有任何数据丢失)
本文关键字:任何 数据 数据库 内置 框架 实体 更新 支持 | 更新日期: 2023-09-27 18:25:35
假设您向客户发送了一个新的应用程序版本,并且您需要更新本地客户数据库,例如SQL microsoft数据库2008。
-
现在,我通过数据库中的版本表来完成此操作,并运行,sql脚本。-以匹配该版本,例如:
if (DatabaseVersion < Common_func.ProgramDBFixVersion) { switch (DatabaseVersion) { case 0: if (Fix0() == false) NoErrorFixFlg = false; goto case 1; case 1: if (Fix1() == false) NoErrorFixFlg = false; goto case 2; . . . private static bool Fix1() { try { var conn = new SqlConnection(Utils.ConnectionString); conn.Open(); ExecSql(conn, "ALTER TABLE Customer ADD Is_Deleted [bit] NULL"); conn.Close(); } catch (Exception ex) { retrun false; } return true; }
这很好,但在实体框架中是否有任何真正的内置支持。
没有任何数据丢失!
如果是这样的话,你能给出一些具体的例子吗。
非常感谢!
检查迁移:http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-code-based-migrations-walkthrough.aspx
在不自动更新的情况下使用时,每个迁移/更改都会在一个包含脚本更改和回滚的文件中创建