@@ -12,9 +12,13 @@ namespace Redis.OM.Modeling
12
12
/// </summary>
13
13
public class RedisCollectionStateManager
14
14
{
15
- private static JsonSerializerSettings _jsonSerializerSettings = new JsonSerializerSettings
15
+ private static readonly JsonSerializerSettings _jsonSerializerSettings = new JsonSerializerSettings
16
16
{
17
- NullValueHandling = NullValueHandling . Ignore , Converters = new List < JsonConverter > { new DateTimeJsonConvertNewtonsoft ( ) } ,
17
+ NullValueHandling = NullValueHandling . Ignore ,
18
+ DateFormatHandling = DateFormatHandling . IsoDateFormat ,
19
+ DateParseHandling = DateParseHandling . DateTimeOffset ,
20
+ DateTimeZoneHandling = DateTimeZoneHandling . Utc ,
21
+ Converters = new List < JsonConverter > { new DateTimeJsonConvertNewtonsoft ( ) } ,
18
22
} ;
19
23
20
24
/// <summary>
@@ -82,7 +86,7 @@ internal void InsertIntoSnapshot(string key, object value)
82
86
83
87
if ( DocumentAttribute . StorageType == StorageType . Json )
84
88
{
85
- var json = JToken . FromObject ( value , Newtonsoft . Json . JsonSerializer . Create ( new JsonSerializerSettings { NullValueHandling = NullValueHandling . Ignore , Converters = new List < JsonConverter > { new DateTimeJsonConvertNewtonsoft ( ) } } ) ) ;
89
+ var json = JToken . FromObject ( value , Newtonsoft . Json . JsonSerializer . Create ( _jsonSerializerSettings ) ) ;
86
90
Snapshot . Add ( key , json ) ;
87
91
}
88
92
else
@@ -110,7 +114,7 @@ internal bool TryDetectDifferencesSingle(string key, object value, out IList<IOb
110
114
if ( DocumentAttribute . StorageType == StorageType . Json )
111
115
{
112
116
var dataJson = JsonSerializer . Serialize ( value , RedisSerializationSettings . JsonSerializerOptions ) ;
113
- var current = JsonConvert . DeserializeObject < JObject > ( dataJson , new JsonSerializerSettings { NullValueHandling = NullValueHandling . Ignore , DateFormatHandling = DateFormatHandling . IsoDateFormat , DateParseHandling = DateParseHandling . DateTimeOffset , DateTimeZoneHandling = DateTimeZoneHandling . Utc } ) ;
117
+ var current = JsonConvert . DeserializeObject < JObject > ( dataJson , _jsonSerializerSettings ) ;
114
118
var snapshot = ( JToken ) Snapshot [ key ] ;
115
119
var diff = FindDiff ( current ! , snapshot ) ;
116
120
differences = BuildJsonDifference ( diff , "$" , snapshot ) ;
@@ -146,7 +150,7 @@ internal IDictionary<string, IList<IObjectDiff>> DetectDifferences()
146
150
if ( Data . ContainsKey ( key ) )
147
151
{
148
152
var dataJson = JsonSerializer . Serialize ( Data [ key ] , RedisSerializationSettings . JsonSerializerOptions ) ;
149
- var current = JsonConvert . DeserializeObject < JObject > ( dataJson , new JsonSerializerSettings { NullValueHandling = NullValueHandling . Ignore } ) ;
153
+ var current = JsonConvert . DeserializeObject < JObject > ( dataJson , _jsonSerializerSettings ) ;
150
154
var snapshot = ( JToken ) Snapshot [ key ] ;
151
155
var diff = FindDiff ( current ! , snapshot ) ;
152
156
var diffArgs = BuildJsonDifference ( diff , "$" , snapshot ) ;
0 commit comments