给定一个动态的 Dapper 查询,例如:
var results = connection.Query<dynamic>("SELECT ....");
我想从结果中删除几个返回的列/属性。诀窍是我想在不知道/关心我要保留的属性的名称的情况下执行此操作,否则我只会将结果投影到一个新的匿名类型中。
我试图遍历结果并将每个结果转换为一个IDictionary<string, object>
,以便我可以简单地删除保存数据的键/值对。不幸的是,无论出于何种原因,底层的内部 FastExpando 对象都没有实现 Remove 方法。FastExpando 的源代码显示:
bool IDictionary<string, object>.Remove(string key)
{
throw new NotImplementedException();
}
我该如何实施?要清楚,我基本上想要:
var filteredResults = from r in results
select new { // All properties except a couple of well-known ones }