public void Initialize() { _db.Database.Migrate(); _db.Initialize(); IdentityInitializeAsync().Wait(); _db.SaveChanges(); }
public static void Main(string[] args) { var config = new ConfigurationBuilder() // создание объекта конфигурации приложения .SetBasePath(Environment.CurrentDirectory) // указание ему рабочей директории, откуда читать файлы .AddJsonFile("appsettings.json") // указание, что мы будем использовать указанный файл в формате json .Build(); // построение конфигурации // создание строителя конфигурации БД var db_config = new DbContextOptionsBuilder <EducationDB>(); // указание, что мы хотим использовать sql сервер, указываем строку подключения по имени из конфигурационного файла db_config.UseSqlServer(config.GetConnectionString("DefaultConnection")); // создание контекста БД using (var db = new EducationDB(db_config.Options)) { db.Database.EnsureCreated(); // проверяем, что БД существует (иначе создаём новую БД) db.Initialize(); using (var connection = new SqlConnection(config.GetConnectionString("DefaultConnection"))) { connection.Open(); while (true) { Console.Write("Enter command >>"); var cmd = Console.ReadLine(); if (cmd?.Equals("exit", StringComparison.OrdinalIgnoreCase) == true) { break; } if (cmd is null) { continue; } if (cmd.Equals("help")) { PrintHelp(); continue; } if (cmd.Equals("clear") || cmd.Equals("cls")) { Console.Clear(); continue; } var d_index = cmd.IndexOf(':'); string cmd_prefix; string cmd_body; if (d_index >= 0) { cmd_prefix = cmd.Substring(0, cmd.IndexOf(':')); cmd_body = cmd.Substring(cmd_prefix.Length + 1); } else { cmd_prefix = null; cmd_body = cmd; } try { var command = new SqlCommand(cmd_body, connection); switch (cmd_prefix) { case "scalar": { var result = command.ExecuteScalar(); Console.WriteLine(result); } break; case "nonquery": case "nq": { var result = command.ExecuteNonQuery(); Console.WriteLine(result); } break; case "reader": case "vector": default: { using (var reader = command.ExecuteReader()) { var schema = reader.GetColumnSchema(); foreach (var db_column in schema) { Console.Write($"{db_column.ColumnName} "); } Console.WriteLine(); while (reader.Read()) { for (var i = 0; i < schema.Count; i++) { Console.Write($"{reader[i]}| "); } Console.WriteLine(); } Console.WriteLine(); } } break; } } catch (Exception error) { Console.WriteLine("При выполнении команды {0} произошла ошибка:", cmd_body); Console.WriteLine(error.GetType().Name); Console.WriteLine(error.Message); Console.WriteLine(); } } } } }