DbConnector.cs 988 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. using System;
  2. using System.Data;
  3. using System.Data.SQLite;
  4. using System.Threading.Tasks;
  5. using MediaBrowser.Model.Logging;
  6. using MediaBrowser.Server.Implementations.Persistence;
  7. namespace MediaBrowser.ServerApplication.Native
  8. {
  9. public class DbConnector : IDbConnector
  10. {
  11. private readonly ILogger _logger;
  12. public DbConnector(ILogger logger)
  13. {
  14. _logger = logger;
  15. }
  16. public void BindSimilarityScoreFunction(IDbConnection connection)
  17. {
  18. SqliteExtensions.BindGetSimilarityScore(connection, _logger);
  19. }
  20. public async Task<IDbConnection> Connect(string dbPath)
  21. {
  22. try
  23. {
  24. return await SqliteExtensions.ConnectToDb(dbPath, _logger).ConfigureAwait(false);
  25. }
  26. catch (Exception ex)
  27. {
  28. _logger.ErrorException("Error opening database {0}", ex, dbPath);
  29. throw;
  30. }
  31. }
  32. }
  33. }