Выражения не сериализуются.Тем не менее, есть некоторые сторонние инструменты, которые могут помочь.
Я бы порекомендовал взглянуть на Serialize.Linq .Он обновлен, поддерживается, имеет большое количество загрузок и будет поддерживать .NET Framework 4.x, а также .NET Standard.
Из примеров также довольно просто использовать:
Expression expression = Expression.Parameter(typeof(Person), "x");
// Serialize expression
var serializer = new ExpressionSerializer(new JsonSerializer());
string value = serializer.SerializeText(expression);
Console.WriteLine("value:" + value);
// Deserialize expression
var actualExpression = serializer.DeserializeText(value);
Console.WriteLine("actualExpression:" + actualExpression.ToJson());