从值匹配 X 的 EntityCollection 中获取所有实体

Get All Entities From EntityCollection Where Values Matches X

我想通过一个值从 EntityCollection 中获取所有匹配的 Entities,但我当前的语句只允许 Entity 的 return,而不是 EntityCollection.

//only allow return 1 entity
var matchedRecords = allRecords.Entities.Where
                                (x => x.GetAttributeValue<EntityReference>
                                                         ("ccc_batchId").Id == batchId);

我可以知道如何调整上述查询吗?

EntityCollection 只是一种用于存储多个实体的结构。

我知道这并不理想,但您始终可以在实体列表中转换 allRecords.Entities 并对其执行 LINQ 查询。

您的代码可能返回实体的 IEnumerable 而不是单个实体(例如,在查询的末尾,您可以放置​​ .ToList() 来获取实体列表。

根据 Guido 的说法,也可以创建一个新的 EntityCollection 结果:

var matchedRecords = allRecords.Entities.Where(x => x.GetAttributeValue<EntityReference>("ccc_batchId").Id == batchId).ToList();    
var matchedCollection = new EntityCollection(matchedRecords);