EntityCollection只是一个用于存储多个实体的构造。
我想通过一个值从EntityCollection
获得所有匹配的Entities
,但我当前的语句只允许返回Entity
,而不允许返回EntityCollection
。
//only allow return 1 entity
var matchedRecords = allRecords.Entities.Where
(x => x.GetAttributeValue<EntityReference>
("ccc_batchId").Id == batchId);
我可以知道如何调整上述查询吗?
我知道这并不理想,但你总是可以转换所有的记录。实体列表中的实体,并对其进行LINQ查询。
您的代码可能返回实体的IEnumerable,而不是单个实体(例如,在查询的末尾,您可以放一个.ToList((来获得实体列表。
在Guido所说的基础上,还可以创建一个新的EntityCollection,其结果为:
var matchedRecords = allRecords.Entities.Where(x => x.GetAttributeValue<EntityReference>("ccc_batchId").Id == batchId).ToList();
var matchedCollection = new EntityCollection(matchedRecords);