如何在IEnumerable< expandooobject >由petpoco . database . query<
本文关键字:petpoco database query expandooobject IEnumerable | 更新日期: 2023-09-27 18:14:40
我想在运行时找出ExpandoObject中的所有类型。
下面是一些探索性代码:
using PetaPoco;
...
var data = _d.Query<dynamic>(_script);
IDictionary<string, object> hood = (IDictionary<string, object>)data.First();
var wow = hood.Values.Where(x => x != null).Select(x => x.GetType().ToString());
where方法礼貌地跳过返回的ExpandoObject中的空值…这几乎不是一个解决方案,因为它首先依赖于一行返回。
是否有更好的方法来查询PetaPoco。数据库学习,因为它建立ExpandoObject?
(回退是再次查询数据库中的模式对象)
从本博客中获取数据源creator.cs,为System.Collections.Generic.IDictionary<TKey, TValue>
添加一些重载。这将产生您可以探索的新类型,或者可能将其保存为程序集。或者直接从http://www.bodurov.com/files/DataSourceCreator.cs.zip
这是你在PetaPoco
输出的东西上使用的方法public static IEnumerable ToDataSource(this IEnumerable<IDictionary> list)
,但复制面条的代码添加重载与几乎完全相同的实现,但签名
public static IEnumerable ToDataSource(this IEnumerable<IDictionary<string,object>> list)
那么你的代码调整为
var hood=data.Cast<IDictionary<string,object>>().ToDataSource();