创建的Sdf在代码首次迁移后被删除

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建的Sdf在代码首次迁移后被删除相关的知识,希望对你有一定的参考价值。

我正在使用WPF应用程序中的SQL Server精简版进行代码首次迁移。

我能够使用代码优先生成.SDF数据库文件并且可以应用迁移但是在用户机器中创建了.SDF(仅空.SDF,没有添加表)但是没有应用迁移,几秒钟之后它就是被删除。只有少数用户面临这个问题(我们使用点击一次部署)

我已经创建了一个示例应用程序来首先使用代码生成.SDF数据库文件,但在该应用程序中也是相同的行为。我也保留了日志,但我们没有任何例外。

以下是我用于应用迁移的代码。

var connectionString = Constants.SqlCEConnectionString;
var providerName = "System.Data.SqlServerCe.4.0";

var configuration = new Configuration();
configuration.TargetDatabase = new DbConnectionInfo(connectionString, providerName);
var migrator = new DbMigrator(configuration);

IEnumerable<string> migrations = migrator.GetPendingMigrations();

if (migrations != null && migrations.Count() > 0)
{
    migrator.Update();
}

不应删除.SDF并应适用迁移

答案

也许用户已启用漫游?我会考虑使用:

 "Data Source="C:Users<user-machine-name>AppDataTestTest.sdf;" 

以上是关于创建的Sdf在代码首次迁移后被删除的主要内容,如果未能解决你的问题,请参考以下文章

实体框架代码首次迁移文件源代码控制

如何禁用代码首次迁移

启用 EF 代码首次迁移后 Azure 网站出现内部服务器错误

使用实体框架迁移时 SQL Server 连接抛出异常 - 添加代码片段

sh 首次创建Alexa技能 - 创建JAR存档片段

僵尸无法识别消息在初始发送后约5秒后被删除(服务器消息删除)。