title: Dynamic linq not correctly apply on list of DynamicClass
body: <p>I'm trying to use <a href="https://dynamic-linq.net/" rel="nofollow noreferrer">dynamic linq</a> over <a href="https://dynamic-linq.net/" rel="nofollow noreferrer">DynamicClass</a> list. From external source I'm getting <code>field.Name = &quot;firstName&quot;</code> and <code>field.Value = &quot;firstValue&quot;</code>.</p>
  <pre><code>   var dynamicIndexes = new List&lt;DynamicClass&gt;();
  
     var props = new DynamicProperty[]
     {
         new DynamicProperty(field.Name, typeof(string))
     };
  
     Type type = DynamicClassFactory.CreateType(props);
  
     var dynamicClass = Activator.CreateInstance(type) as DynamicClass;
     dynamicClass.SetDynamicPropertyValue&lt;string&gt;(field.Name, field.Value);
  
     dynamicIndexes.Add(dynamicClass);
  
     var query = dynamicIndexes.AsQueryable();
     bool isValid = query.Any(&quot;firstName eq \&quot;firstValue\&quot;&quot;);
  </code></pre>
  <p>But I'm getting <code>isValid</code> as <code>false</code>.</p>
  <p>I did following tests to understand the issue:</p>
  <p>added following code line at the beginning, to overwrite the value and then I'm getting <code>isValid</code> as <code>true</code>.</p>
  <pre><code>   field.Value = &quot;firstValue&quot;;
  </code></pre>
  <p>but if I change that as follows then I'm getting <code>isValid</code> as <code>false</code>.</p>
  <pre><code>   byte[] utfBytes = Encoding.Default.GetBytes(&quot;firstValue&quot;);
     field.Value = Encoding.Default.GetString(utfBytes);
  </code></pre>
  <p>What I'm missing? is this issue related to encoding?</p>
  <p><strong>Update</strong></p>
  <p>As suggested <a href="https://stackoverflow.com/a/72672769/17374155">here</a> this is a limitation with <a href="https://dynamic-linq.net/" rel="nofollow noreferrer">dynamic linq</a>. Can you suggest an alternative solution/library to filter DynamicClass list with a query expression.</p>