Я придумал запрос ниже, чтобы выполнить этот запрос. :
Код: Выделить всё
var result = (from a in _accountCollection.AsQueryable()
join r in _externalReferenceCollection.AsQueryable()
on new { Id = a.Id, CollectionName = "account", Key = "cimAccountId" } equals new { Id = r.TargetId, CollectionName = r.CollectionName, Key = r.Key } into ar
where !ar.Any()
select a).Take(batchSize);
Выражение не поддерживается: a => new f__AnonymousType1`3(Id = a.Id, CollectionName = «account», Key = «cimAccountId»), поскольку выражение нельзя преобразовать как путь к полю.
Я не понимаю, что Linq пытается здесь сделать, поскольку, похоже, возникает проблема между типом anon, используемым при объединении коллекций, и запрошенным типом возвращаемого значения при выборе, который не совпадает.
Кто-нибудь может сказать мне, что не так с вышеизложенным?
Подробнее здесь: https://stackoverflow.com/questions/791 ... ion-cannot