.net expando对象和LINQ。可能与否?

时间:2011-03-26 22:16:56

标签: .net linq expandoobject

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

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

如何根据动态字段在此列表中编写LINQ查询?

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

From item in Products Where item.color="red" select item

但是对于expandos,如何实现这一点,知道我事先并不知道字段的名称(可能是重量或其他任何东西)?

提前谢谢。

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:0)

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