Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

चर से स्थिरांक के साथ गतिशील रूप से लैम्ब्डा अभिव्यक्ति उत्पन्न करें

इसे ExpressionVisitor . के साथ अपेक्षाकृत आसान किया जा सकता है जो ConstantExpression . का मूल्यांकन करता है इस तरह के सदस्य:

public static class ExpressionUtils
{
    public static Expression<TDelegate> ReplaceVariablesWithConstants<TDelegate>(this Expression<TDelegate> source)
    {
        return source.Update(
            new ReplaceVariablesWithConstantsVisitor().Visit(source.Body), 
            source.Parameters);
    }

    class ReplaceVariablesWithConstantsVisitor : ExpressionVisitor
    {
        protected override Expression VisitMember(MemberExpression node)
        {
            var expression = Visit(node.Expression);
            if (expression is ConstantExpression)
            {
                var variable = ((ConstantExpression)expression).Value;
                var value = node.Member is FieldInfo ?
                    ((FieldInfo)node.Member).GetValue(variable) :
                    ((PropertyInfo)node.Member).GetValue(variable);
                return Expression.Constant(value, node.Type);
            }
            return node.Update(expression);
        }
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pl/sql संग्रहीत कार्यविधि... निष्पादन समय कहाँ जाता है?

  2. कैसे जांचें कि किसी सरणी में कोई विशेष स्ट्रिंग है या नहीं?

  3. एसक्यूएल में उठाए गए अपवाद के बाद लूप के दौरान कैसे जारी रखें

  4. किसी तालिका में अनुमत स्तंभों की अधिकतम संख्या क्या है?

  5. ऑरैकल डेटाबेस में दिनांक स्वरूप कैसे बदलें