是否可以在purrr::map_dfr()
的列表上使用FastMember ObjectReader.Create
。
这是我要测试的一个简单测试用例:
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;
}
}
}
中的GetMembers
函数中。由于TypeAccessor
继承自ExpandoObject
,因此类型没有属性,FastMember无法序列化字典的每个键。有解决方法吗?
基本上,我执行将SQL查询转换为expandos的查询。我想使用IDictionary<string, object>
将结果批量返回数据库。