aboutsummaryrefslogtreecommitdiff
path: root/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/ModelBuilderExtensions.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/ModelBuilderExtensions.cs')
-rw-r--r--src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/ModelBuilderExtensions.cs59
1 files changed, 29 insertions, 30 deletions
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/ModelBuilderExtensions.cs b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/ModelBuilderExtensions.cs
index 79ae1661a..0d7568619 100644
--- a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/ModelBuilderExtensions.cs
+++ b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/ModelBuilderExtensions.cs
@@ -3,46 +3,45 @@ using Jellyfin.Server.Implementations.ValueConverters;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
-namespace Jellyfin.Server.Implementations
+namespace Jellyfin.Database.Providers.Sqlite;
+
+/// <summary>
+/// Model builder extensions.
+/// </summary>
+public static class ModelBuilderExtensions
{
/// <summary>
- /// Model builder extensions.
+ /// Specify value converter for the object type.
/// </summary>
- public static class ModelBuilderExtensions
+ /// <param name="modelBuilder">The model builder.</param>
+ /// <param name="converter">The <see cref="ValueConverter{TModel,TProvider}"/>.</param>
+ /// <typeparam name="T">The type to convert.</typeparam>
+ /// <returns>The modified <see cref="ModelBuilder"/>.</returns>
+ public static ModelBuilder UseValueConverterForType<T>(this ModelBuilder modelBuilder, ValueConverter converter)
{
- /// <summary>
- /// Specify value converter for the object type.
- /// </summary>
- /// <param name="modelBuilder">The model builder.</param>
- /// <param name="converter">The <see cref="ValueConverter{TModel,TProvider}"/>.</param>
- /// <typeparam name="T">The type to convert.</typeparam>
- /// <returns>The modified <see cref="ModelBuilder"/>.</returns>
- public static ModelBuilder UseValueConverterForType<T>(this ModelBuilder modelBuilder, ValueConverter converter)
+ var type = typeof(T);
+ foreach (var entityType in modelBuilder.Model.GetEntityTypes())
{
- var type = typeof(T);
- foreach (var entityType in modelBuilder.Model.GetEntityTypes())
+ foreach (var property in entityType.GetProperties())
{
- foreach (var property in entityType.GetProperties())
+ if (property.ClrType == type)
{
- if (property.ClrType == type)
- {
- property.SetValueConverter(converter);
- }
+ property.SetValueConverter(converter);
}
}
-
- return modelBuilder;
}
- /// <summary>
- /// Specify the default <see cref="DateTimeKind"/>.
- /// </summary>
- /// <param name="modelBuilder">The model builder to extend.</param>
- /// <param name="kind">The <see cref="DateTimeKind"/> to specify.</param>
- public static void SetDefaultDateTimeKind(this ModelBuilder modelBuilder, DateTimeKind kind)
- {
- modelBuilder.UseValueConverterForType<DateTime>(new DateTimeKindValueConverter(kind));
- modelBuilder.UseValueConverterForType<DateTime?>(new DateTimeKindValueConverter(kind));
- }
+ return modelBuilder;
+ }
+
+ /// <summary>
+ /// Specify the default <see cref="DateTimeKind"/>.
+ /// </summary>
+ /// <param name="modelBuilder">The model builder to extend.</param>
+ /// <param name="kind">The <see cref="DateTimeKind"/> to specify.</param>
+ public static void SetDefaultDateTimeKind(this ModelBuilder modelBuilder, DateTimeKind kind)
+ {
+ modelBuilder.UseValueConverterForType<DateTime>(new DateTimeKindValueConverter(kind));
+ modelBuilder.UseValueConverterForType<DateTime?>(new DateTimeKindValueConverter(kind));
}
}