using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Newtonsoft.Json; using Newtonsoft.Json.Serialization; using System; using System.Collections.Generic; using System.Linq.Expressions; using System.Text; namespace PartSource.Data.Converters { public class ObjectToJsonConverter : ValueConverter { private static readonly JsonSerializerSettings _serializerSettings = new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore, ContractResolver = new DefaultContractResolver() { NamingStrategy = new SnakeCaseNamingStrategy() } }; public ObjectToJsonConverter() : base(ObjectToJson, JsonToObject) { } public static Expression> JsonToObject = value => JsonConvert.DeserializeObject(value, _serializerSettings); public static Expression> ObjectToJson = value => JsonConvert.SerializeObject(value, _serializerSettings); } }