.net expando对象和LINQ。有没有可能?

.net expando对象和LINQ。有没有可能?,.net,linq,expandoobject,.net,Linq,Expandoobject,我有一个名为products的expando对象的简单列表 我在运行时向这些对象添加各种字段(例如颜色或大小) 如何基于动态字段在此列表上编写LINQ查询 使用经典的对象列表,我可以编写如下LINQ查询: From item in Products Where item.color="red" select item 但是使用expandos,如果知道我事先不知道字段的名称(可能是重量大小或其他任何东西),如何实现这一点 提前感谢。expando对象实现IDictionary(字符串、对象的形

我有一个名为products的expando对象的简单列表

我在运行时向这些对象添加各种字段(例如颜色或大小)

如何基于动态字段在此列表上编写LINQ查询

使用经典的对象列表,我可以编写如下LINQ查询:

From item in Products Where item.color="red" select item
但是使用expandos,如果知道我事先不知道字段的名称(可能是重量大小或其他任何东西),如何实现这一点


提前感谢。

expando对象实现IDictionary(字符串、对象的形式)
因此,您可以将其强制转换为IDictionary,并通过传递字符串访问其属性。

您可以这样编写代码:
从产品中的项目(项目为动态)。color=“red”选择项目

Brilliant!我转了几个小时,它工作了:从产品中的项作为IDictionary(字符串,对象),其中项(“颜色”)=“红色”。。。。谢谢你,先生!