LiteDatabaseSingleton.cs 1011 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using LiteDB;
  2. namespace TEAMModelOS.SDK.Module.LiteDB.Configuration
  3. {
  4. public sealed class LiteDatabaseSingleton
  5. {
  6. private static string _connectionString;
  7. private LiteDatabase database;
  8. private LiteDatabaseSingleton() { }
  9. public LiteDatabase GetDatabase()
  10. {
  11. if (database != null)
  12. {
  13. return database;
  14. }
  15. else
  16. {
  17. GetInstance(_connectionString);
  18. return database;
  19. }
  20. }
  21. public static LiteDatabaseSingleton GetInstance(string connectionString)
  22. {
  23. _connectionString = connectionString;
  24. return SingletonInstance.instance;
  25. }
  26. private static class SingletonInstance
  27. {
  28. public static LiteDatabaseSingleton instance = new LiteDatabaseSingleton()
  29. {
  30. database = new LiteRepository(_connectionString).Database
  31. };
  32. }
  33. }
  34. }