diff options
| author | crobibero <cody@robibe.ro> | 2020-07-31 10:05:27 -0600 |
|---|---|---|
| committer | crobibero <cody@robibe.ro> | 2020-07-31 10:05:27 -0600 |
| commit | f516cf9c4c273bf1de68c3a281bf6d27627a2de6 (patch) | |
| tree | ef74634ff350ab183d980b2160297795e71cee61 /Jellyfin.Server.Implementations/JellyfinDbProvider.cs | |
| parent | f5385e4735849cbb1552e69faa0116e5498b3688 (diff) | |
| parent | cb31aba5ddea9b961872946ee2d79fdac91de293 (diff) | |
Merge remote-tracking branch 'upstream/api-migration' into api-dlna
Diffstat (limited to 'Jellyfin.Server.Implementations/JellyfinDbProvider.cs')
| -rw-r--r-- | Jellyfin.Server.Implementations/JellyfinDbProvider.cs | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Jellyfin.Server.Implementations/JellyfinDbProvider.cs b/Jellyfin.Server.Implementations/JellyfinDbProvider.cs new file mode 100644 index 000000000..8f5c19900 --- /dev/null +++ b/Jellyfin.Server.Implementations/JellyfinDbProvider.cs @@ -0,0 +1,33 @@ +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.DependencyInjection; + +namespace Jellyfin.Server.Implementations +{ + /// <summary> + /// Factory class for generating new <see cref="JellyfinDb"/> instances. + /// </summary> + public class JellyfinDbProvider + { + private readonly IServiceProvider _serviceProvider; + + /// <summary> + /// Initializes a new instance of the <see cref="JellyfinDbProvider"/> class. + /// </summary> + /// <param name="serviceProvider">The application's service provider.</param> + public JellyfinDbProvider(IServiceProvider serviceProvider) + { + _serviceProvider = serviceProvider; + serviceProvider.GetRequiredService<JellyfinDb>().Database.Migrate(); + } + + /// <summary> + /// Creates a new <see cref="JellyfinDb"/> context. + /// </summary> + /// <returns>The newly created context.</returns> + public JellyfinDb CreateContext() + { + return _serviceProvider.GetRequiredService<JellyfinDb>(); + } + } +} |
