本文整理汇总了C#中System.Data.Entity.Migrations.DbMigrator.GetLocalMigrations方法的典型用法代码示例。如果您正苦于以下问题:C# DbMigrator.GetLocalMigrations方法的具体用法?C# DbMigrator.GetLocalMigrations怎么用?C# DbMigrator.GetLocalMigrations使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.Entity.Migrations.DbMigrator
的用法示例。
在下文中一共展示了DbMigrator.GetLocalMigrations方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FullUp_FullDown
public void FullUp_FullDown()
{
var configuration = new Veil.DataAccess.Migrations.Configuration();
var migrator = new DbMigrator(configuration);
List<string> migrations = new List<string> { "0" };
migrations.AddRange(migrator.GetLocalMigrations());
migrator.Update(migrations.Last());
migrator.Update(migrations.First());
}
示例2: GenerateSQLScript
public static void GenerateSQLScript()
{
#if DEBUG
var migrator = new DbMigrator(new Configuration());
var scriptor = new MigratorScriptingDecorator(migrator);
var migration = migrator.GetLocalMigrations().LastOrDefault();
var sql = scriptor.ScriptUpdate("0", migration);
string info = $"-- ========================================== --\r\n-- Current Migration: {migration}\r\n-- ========================================== --\r\n\r\n";
string fileName = "OpenNos.sql";
File.WriteAllText(Path.Combine((@"../../../OpenNos.DAL.EF/DB/"), fileName), info + sql);
#endif
}
示例3: GenerateScript
public static void GenerateScript()
{
DbMigrator efMigrator = new DbMigrator(new DbMigrationsConfiguration());
var pendingMigrations = efMigrator.GetLocalMigrations().ToList();
pendingMigrations.Insert(0, "0");
foreach (var migration in pendingMigrations.Zip(pendingMigrations.Skip(1), Tuple.Create))
{
var sql = new MigratorScriptingDecorator(efMigrator).ScriptUpdate(migration.Item1, migration.Item2); // <-- problem here, the efMigrator is reused several times
Console.WriteLine("Migration from " + (migration.Item1 ?? "<null> ") + " to " + (migration.Item2 ?? "<null> "));
Console.WriteLine(sql);
Console.WriteLine("-------------------------------------");
}
}
示例4: UpdateDatabase
public static void UpdateDatabase(string connectionString)
{
var configuration = new Configuration
{
TargetDatabase = new DbConnectionInfo(connectionString, "System.Data.SqlClient")
};
var migrator = new DbMigrator(configuration);
var pending = migrator.GetPendingMigrations().ToArray();
var local = migrator.GetLocalMigrations().ToArray();
var db = migrator.GetDatabaseMigrations().ToArray();
migrator.Update();
}
示例5: RunAll
public void RunAll()
{
var configuration = new Veil.DataAccess.Migrations.Configuration();
var migrator = new DbMigrator(configuration);
List<string> migrations = new List<string> { "0" };
migrations.AddRange(migrator.GetLocalMigrations());
// Ensure we are starting from pre-first migration state
migrator.Update(migrations.First());
// Run all the migrations. Goes up one, down one, up two, down one, up two, down one, etc.
for (int i = 0; i < migrations.Count; i++)
{
migrator.Update(migrations[i]);
if (i > 0)
{
migrator.Update(migrations[i - 1]);
}
}
}
示例6: GetMigrations
public virtual IEnumerable<MigrationInfo> GetMigrations(String contextTypeName)
{
var contextType = GetContextType(contextTypeName);
var configurationType = GetConfigurationType(contextType);
var configuration = CreateConfiguration(configurationType);
var migrator = new DbMigrator(configuration);
var migrations = new Dictionary<String, MigrationInfo>();
Func<String, MigrationInfo> getInfo = migrationId =>
{
MigrationInfo info;
if (!migrations.TryGetValue(migrationId, out info))
{
info = new MigrationInfo { Id = migrationId };
migrations.Add(migrationId, info);
}
return info;
};
foreach (var migrationId in migrator.GetDatabaseMigrations())
{
var info = getInfo.Invoke(migrationId);
info.InDatabase = true;
}
foreach (var migrationId in migrator.GetLocalMigrations())
{
var info = getInfo.Invoke(migrationId);
info.InProject = true;
}
return migrations.Values.OrderBy(i => i.Id);
}