コード例 #1
0
        public ActionResult GenerateFileForEachTable()
        {
            var model = new Model.GenerateMigrationFromEntityPageModel();

            foreach (var migration in model.Migrations)
            {
                ////write a cs file
                var migrationFileName = $"{migration.PaddedMigrationNumber}_{migration.TableName}";
                var filePath          = HostingEnvironment.MapPath($"~/App_Data/GeneratedMigrations/{migrationFileName}.cs");
                Directory.CreateDirectory(Path.GetDirectoryName(filePath));
                System.IO.File.Delete(filePath);
                if (!string.IsNullOrWhiteSpace(migration.Remarks))
                {
                    System.IO.File.AppendAllText(filePath, migration.Remarks + Environment.NewLine);
                }

                string migrationClass = $@"using FluentMigrator;

namespace DBMigration.Migrations
{{

    [Migration({migration.PaddedMigrationNumber})]
    public class {migration.TableName} : Migration
    {{
        public override void Up()
        {{
           {migration.Migration}
        }}

        public override void Down()
        {{
            Delete.Table(""{migration.TableName}"");
        }}
    }}

}}";

                System.IO.File.AppendAllText(filePath, migrationClass);
            }


            return(View("~/Modules/_Ext/DevTools/GenerateMigrationFromEntity/GenerateMigrationFromEntitySuccessMsg.cshtml", model));
        }
コード例 #2
0
        public ActionResult GenerateSingleFile()
        {
            var model = new Model.GenerateMigrationFromEntityPageModel();

            ////write a cs file
            var filePath = HostingEnvironment.MapPath("~/App_Data/GeneratedMigrations/InitialMigration.cs");

            Directory.CreateDirectory(Path.GetDirectoryName(filePath));
            System.IO.File.Delete(filePath);
            foreach (var migration in model.Migrations)
            {
                if (!string.IsNullOrWhiteSpace(migration.Remarks))
                {
                    System.IO.File.AppendAllText(filePath, migration.Remarks + Environment.NewLine);
                }
                System.IO.File.AppendAllText(filePath, migration.Migration);
            }


            return(View("~/Modules/_Ext/DevTools/GenerateMigrationFromEntity/GenerateMigrationFromEntitySuccessMsg.cshtml", model));
        }
コード例 #3
0
        public ActionResult Index()
        {
            var model = new Model.GenerateMigrationFromEntityPageModel();

            return(View("~/Modules/_Ext/DevTools/GenerateMigrationFromEntity/GenerateMigrationFromEntityIndex.cshtml", model));
        }