Код: Выделить всё
var compositeKeys = prcProjects.Select(p => new
{
key1 = p.Proposal!.ProposalNm.Trim().ToUpper(),
key2 = p.ProjectNm.Trim().ToUpper()
}).ToList();
Код: Выделить всё
t2DestRecs = await terContext.Tert002RcFps
.Where(t => compositeKeys.Contains(new { key1 = t.RdwyCntrtId.Trim().ToUpper(), key2 = t.FinProjId.Trim().ToUpper() }))
.ToListAsync();
Exception parsing command line: System.InvalidOperationException: The LINQ expression '__compositeKeys_0
.Contains(new {
key1 = StructuralTypeShaperExpression(
Structuraltype: tereextractload.models.sql.tere.tert002rcfp
valuebufferexpression: projectionbindingexpression: pellyprocemember
isnullable: false) .rdwycntrtid.trim (). Structuraltypeshaperexpression (
structuraltype: tereextractload.models.sql.tere.tert002rcfp
valuebufferexpression: projectionbindingexpression: umptyproctomemember
isnullable: false). />
}) 'не удалось перевести. Либо перепишите запрос в форме, которая может быть переведена, либо переключитесь на оценку клиента явно, вставив призыв к «Asemerable», «Asasyncenumble», «толист» или «tolistasync». См. Https://go.microsoft.com/fwlink/?linkid=2101038 для получения дополнительной информации.
Это анонимный тип только с полями строк. Я удивлен, что это не переводится. Предоставлен SQL Server не имеет простой функции для этого, но, по крайней мере, он может быть переведен в < /p>
WHERE (key1=val1 and key2=val2) OR (key1=val3 and key2=val4)
< /code>
etc.
Это кажется проблемой, которую SQL Server и EF Core должны быть в состоянии решить простым образом. Может быть, это не повседневная проблема, но она должна быть достаточно общей, чтобы привлечь внимание? Как люди работают вокруг этого? Кодирование всего, где сами предложение?
Подробнее здесь: https://stackoverflow.com/questions/797 ... mous-types
Мобильная версия