如何找到EntityCollection中的实体?

时间:2009-11-05 20:08:49

标签: silverlight wcf-ria-services

我使用EntityCollection作为combox的数据源作为带有ria服务的silverlight应用程序的下拉列表。 如果我知道在集合中选择的项目,比如它的ID = 123,那么我可以使用此ID来查找EntityCollection中的选定内容。如何为此目的编写通用函数?

说出类似的话:

public Entity<T> GetEntity(EntityCollection<T> collection, string ID)
{


}

1 个答案:

答案 0 :(得分:3)

我不确定你可以在不使用反射的情况下将其作为通用功能。如果你知道你正在寻找的类的类型,那么你可以使用Linq找到对象:

var x = collection.Select(o => o as MyObject).Where(o => o.ID == ID).FirstOrDefault();

在这种情况下,您需要知道您正在使用的对象上有一个名为ID的属性。如果您不知道这一点,那么您将不得不使用反射来获取ID属性并比较值(AFIAK)。

因为它实际上只有一行代码,所以可能不值得付出努力。