/// <summary> /// Creates a an expression tree that can be used to generate code for the literal value. /// Currently, only very basic expressions such as constructor calls and factory methods taking /// simple constants are supported. /// </summary> /// <param name="value"> The value for which a literal is needed. </param> /// <returns> An expression tree that can be used to generate code for the literal value. </returns> public override Expression GenerateCodeLiteral(object value) => Expression.Convert( Expression.Call( Expression.New(WKTReaderType), WKTReaderType.GetMethod("Read", new[] { typeof(string) }), Expression.Constant(CreateWktWithSrid(value), typeof(string))), value.GetType());
/// <summary> /// Creates a an expression tree that can be used to generate code for the literal value. /// Currently, only very basic expressions such as constructor calls and factory methods taking /// simple constants are supported. /// </summary> /// <param name="value"> The value for which a literal is needed. </param> /// <returns> An expression tree that can be used to generate code for the literal value. </returns> public override Expression GenerateLiteralExpression(object value) => Expression.Convert( Expression.Call( Expression.New(WKTReaderType), WKTReaderType.GetMethod("Read", new[] { typeof(string) }), Expression.Constant(AsText(value), typeof(string))), value.GetType());