将实体集转换为Ilist,其中Entity Collection未实现IEnumerable

我有一个Entity集合像这样: EntityCollection用户;

我想将它转换Ilist这样的Ilist

 systemUsers = new List(); 

其中CrmSdkTypeProxy.SystemUser是一种Entity 。 但是,我的Entity Collection派生自一个没有实现IEnumerableMicrosoft.Xrm.Sdkdll 。 我正在使用mscrm 2011特定的dlls

关于我如何创建这样的列表的任何想法: .List

从我收集的http://msdn.microsoft.com/en-us/library/microsoft.xrm.sdk.entitycollection_members.aspx和我的头顶:

 var myList = (from t in myEntityCollection.Entities select t as CRMSDKTypeProxy.SystemUser).ToList(); 

和linq-less:

 var myList = new List(myEntityCollection.Entities); 

这对我有用。

实体是一个DataCollection ,您可以将其转换为IEnumerable ,然后使用ToList函数创建与您需要的IList接口匹配的List。

 return service.RetrieveMultiple(query) .Entities .Select(item => item.ToEntity()) .ToList(); 

最后……遍历DataCollection并将单个值添加到Ilist