using SharedLibrary.Interfaces; using System; using System.Data.SqlServerCe; namespace SharedLibrary.Database { public class Repair { public static void Run(ILogger log) { if (!System.IO.File.Exists($"{Utilities.OperatingDirectory}Database.sdf")) return; SqlCeEngine engine = new SqlCeEngine(@"Data Source=|DataDirectory|\Database.sdf"); if (false == engine.Verify()) { log.WriteWarning("Database is corrupted."); try { engine.Repair(null, RepairOption.DeleteCorruptedRows); } catch (SqlCeException ex) { log.WriteError(ex.Message); } } } } }