0

我想EntitiesEntityCollection一个值中得到所有匹配,但我当前的语句只允许返回Entity,而不是EntityCollection

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

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

4

2 回答 2

1

EntityCollection 只是一种存储多个实体的构造。

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

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

于 2020-10-24T15:54:15.350 回答
1

在 Guido 所说的基础上,还可以使用结果创建一个新的EntityCollection

var matchedRecords = allRecords.Entities.Where(x => x.GetAttributeValue<EntityReference>("ccc_batchId").Id == batchId).ToList();    
var matchedCollection = new EntityCollection(matchedRecords);
于 2020-10-25T12:56:19.427 回答