C# 有没有办法在expando/dynamic上使用FastMember ObjectReader

C# 有没有办法在expando/dynamic上使用FastMember ObjectReader,c#,dynamic,expandoobject,fastmember,C#,Dynamic,Expandoobject,Fastmember,有没有一种方法可以使用FastMemberObjectReader。在ExpandoObject列表上创建 下面是我制作的一个简单测试用例: using FastMember; using System; using System.Collections.Generic; using System.Data; using System.Dynamic; using System.Linq; namespace TestReaderAsync { class Program {

有没有一种方法可以使用FastMember
ObjectReader。在
ExpandoObject
列表上创建

下面是我制作的一个简单测试用例:

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<ExpandoObject> expandos = new List<ExpandoObject>();
            var first = GetExpando();
            var second = GetExpando();
            expandos.Add(first);
            expandos.Add(second);
            var keys = (first as IDictionary<string, object>).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;
        }
    }
}
使用FastMember;
使用制度;
使用System.Collections.Generic;
使用系统数据;
运用系统动力学;
使用System.Linq;
命名空间TestReaderAsync
{
班级计划
{
静态void Main()
{
List expandos=新列表();
var first=GetExpando();
var second=GetExpando();
expandos.Add(第一);
expandos.Add(第二);
var keys=(首先作为IDictionary).keys;
使用(var reader=ObjectReader.Create(expandos,keys.ToArray()))
{
var dt=新数据表();
dt.负载(读卡器);
}
}
私有静态ExpandoObject GetExpando()
{
ExpandoObject exp=新的ExpandoObject();
exp.TryAdd(“ID”、“A”);
exp.TryAdd(“ID_2”,“B”);
exp.TryAdd(“日期”,DateTime.Now);
exp.TryAdd(“月”,5);
返回经验;
}
}
}
问题似乎来自
TypeAccessor
中的
GetMembers
函数。由于
ExpandoObject
继承自
IDictionary
,因此该类型没有属性,FastMember无法序列化字典的每个键。是否有解决方法来实现这一目标

基本上,我执行的SQL查询被翻译成expandos。我想使用
ObjectReader
将结果批量返回到数据库中