title: Is there a way to use FastMember ObjectReader over an expando/dynamic
body: <p>Is there a way to use FastMember <code>ObjectReader.Create</code> over a list of <code>ExpandoObject</code>.</p>
  
  <p>Here is a simple test case that I made to test:</p>
  
  <pre><code>using FastMember;
  using System;
  using System.Collections.Generic;
  using System.Data;
  using System.Dynamic;
  using System.Linq;
  
  namespace TestReaderAsync
  {
      class Program
      {
          static void Main()
          {
              List&lt;ExpandoObject&gt; expandos = new List&lt;ExpandoObject&gt;();
              var first = GetExpando();
              var second = GetExpando();
              expandos.Add(first);
              expandos.Add(second);
              var keys = (first as IDictionary&lt;string, object&gt;).Keys;
              using (var reader = ObjectReader.Create(expandos, keys.ToArray()))
              {
                  var dt = new DataTable();
                  dt.Load(reader);
              }
          }
  
          private static ExpandoObject GetExpando()
          {
              ExpandoObject exp = new ExpandoObject();
              exp.TryAdd("ID", "A");
              exp.TryAdd("ID_2", "B");
              exp.TryAdd("DATE", DateTime.Now);
              exp.TryAdd("MONTH", 5);
              return exp;
          }
      }
  }
  </code></pre>
  
  <p>It seems that the problem is coming from the <code>GetMembers</code> function in <code>TypeAccessor</code>. Since <code>ExpandoObject</code> is inheriting from <code>IDictionary&lt;string, object&gt;</code>, the type has no properties and FastMember is not able to serialize each key of the dictionary. Is there a workaround to achieve it?</p>
  
  <p>Basically, I perform SQL queries that got translated into expandos. I want to use <code>ObjectReader</code> to bulk back the result into a database.</p>