diff options
author | crupest <crupest@outlook.com> | 2020-10-31 00:42:06 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-31 00:42:06 +0800 |
commit | a3c97f6fb6313da2e8c0fac0b4c08f2ef4265d0f (patch) | |
tree | ee006874b0c93e9bfc76f141a092a8b9585a1f95 /Timeline/Entities/UtcDateAnnotation.cs | |
parent | 0c4caaebe2480e77918d5d7df234f0edaeab74ba (diff) | |
parent | 7ce0846d9ec968da3ea4f7ebcc6db26db8e49089 (diff) | |
download | timeline-a3c97f6fb6313da2e8c0fac0b4c08f2ef4265d0f.tar.gz timeline-a3c97f6fb6313da2e8c0fac0b4c08f2ef4265d0f.tar.bz2 timeline-a3c97f6fb6313da2e8c0fac0b4c08f2ef4265d0f.zip |
Merge pull request #161 from crupest/upgrade
Upgrade packages and split front end and back end.
Diffstat (limited to 'Timeline/Entities/UtcDateAnnotation.cs')
-rw-r--r-- | Timeline/Entities/UtcDateAnnotation.cs | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/Timeline/Entities/UtcDateAnnotation.cs b/Timeline/Entities/UtcDateAnnotation.cs deleted file mode 100644 index 6600e701..00000000 --- a/Timeline/Entities/UtcDateAnnotation.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Metadata;
-using Microsoft.EntityFrameworkCore.Metadata.Builders;
-using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
-using System;
-
-namespace Timeline.Entities
-{
- // Copied from https://github.com/dotnet/efcore/issues/4711#issuecomment-589842988
- public static class UtcDateAnnotation
- {
- private const string IsUtcAnnotation = "IsUtc";
- private static readonly ValueConverter<DateTime, DateTime> UtcConverter =
- new ValueConverter<DateTime, DateTime>(v => v, v => DateTime.SpecifyKind(v, DateTimeKind.Utc));
-
- public static PropertyBuilder<TProperty> IsUtc<TProperty>(this PropertyBuilder<TProperty> builder, bool isUtc = true) =>
- builder.HasAnnotation(IsUtcAnnotation, isUtc);
-
- public static bool IsUtc(this IMutableProperty property) =>
- ((bool?)property.FindAnnotation(IsUtcAnnotation)?.Value) ?? true;
-
- /// <summary>
- /// Make sure this is called after configuring all your entities.
- /// </summary>
- public static void ApplyUtcDateTimeConverter(this ModelBuilder builder)
- {
- foreach (var entityType in builder.Model.GetEntityTypes())
- {
- foreach (var property in entityType.GetProperties())
- {
- if (!property.IsUtc())
- {
- continue;
- }
-
- if (property.ClrType == typeof(DateTime))
- {
- property.SetValueConverter(UtcConverter);
- }
- }
- }
- }
- }
-}
|