gpt4 book ai didi

c# - 在 DropCreateDatabaseIfModelChanges 删除数据库之前进行备份

转载 作者:行者123 更新时间:2023-11-30 18:39:24 25 4
gpt4 key购买 nike

我们首先将 ef 代码与 DropCreateDatabaseIfModelChanges 种子模型结合使用。

数据库没有太多敏感信息,丢掉也没关系。

但是我们应该能够在删除之前备份旧版本。可能吗?

最佳答案

我们将实现接口(interface) IDatabaseInitializer<T>在不久的将来。

目前,我们正在使用这段代码(我知道这并不理想):

Database.SetInitializer<OurdatabaseModel>(new OurdatabaseInitializer());
_instance = new OurdatabaseModel();

try
{
// force model creation
_instance.Database.Initialize(false);
}
catch (InvalidOperationException)
{
if (_instance == null)
{
throw;
}

// database exists. Let's back it up.
string dbPath = _instance.Database.Connection.Database.Replace("|DataDirectory|", Program.DataDirectory);
File.Move(dbPath, dbPath + "." + DateTime.Now.ToString("yyyy-MM-dd_hh-mm-ss") + ".sdf");

// and now the CreateDatabaseIfNotExists<T> will take care of the rest
_instance = new OurdatabaseModel();
}

关于c# - 在 DropCreateDatabaseIfModelChanges 删除数据库之前进行备份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9905753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com