using CredentialManager.Data; using CredentialManager.Services; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; namespace TestDatabaseFix; class Program { static async Task Main(string[] args) { Console.WriteLine("Test Database Initialization Fix"); var services = new ServiceCollection(); services.AddLogging(builder => builder.AddConsole()); // Configura il DbContext per usare SQLite services.AddDbContext(options => options.UseSqlite("Data Source=test_credentials.db")); services.AddScoped(); var serviceProvider = services.BuildServiceProvider(); using var scope = serviceProvider.CreateScope(); var dbContext = scope.ServiceProvider.GetRequiredService(); var initializer = scope.ServiceProvider.GetRequiredService(); try { Console.WriteLine("Inizializzando il database..."); await initializer.InitializeAsync(); Console.WriteLine("Verifica tabelle..."); var credentialsCount = await dbContext.Credentials.CountAsync(); var associationsCount = await dbContext.RecordAssociations.CountAsync(); Console.WriteLine($"Tabella Credentials: {credentialsCount} record"); Console.WriteLine($"Tabella RecordAssociations: {associationsCount} record"); Console.WriteLine("Test completato con successo!"); } catch (Exception ex) { Console.WriteLine($"Errore: {ex.Message}"); Console.WriteLine($"Stack trace: {ex.StackTrace}"); } } }