我正在使用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
,并且应该进行迁移
答案 0 :(得分:0)
也许用户已启用漫游?我会考虑使用:
"Data Source="C:\Users\<user-machine-name>\AppData\Test\Test.sdf;"