| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | 
							- using System;
 
- using Jellyfin.Server.Implementations.ValueConverters;
 
- using Microsoft.EntityFrameworkCore;
 
- using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 
- namespace Jellyfin.Server.Implementations
 
- {
 
-     /// <summary>
 
-     /// Model builder extensions.
 
-     /// </summary>
 
-     public static class ModelBuilderExtensions
 
-     {
 
-         /// <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())
 
-             {
 
-                 foreach (var property in entityType.GetProperties())
 
-                 {
 
-                     if (property.ClrType == type)
 
-                     {
 
-                         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));
 
-         }
 
-     }
 
- }
 
 
  |