EntityReference может иметь не более одного связанного объекта - много ко многим с LINQ - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть два списка. Они оба заполняются через базу данных:

  • ListA: ID, PayID, PayDes c, ListB
  • ListB: ID, PayID, MoneyDes c

где ListB выглядит так:

ID      PayID    MoneyDesc
1       2        a
1       3        b
1       4        c

Фрагмент кода, в котором я получаю сообщение об ошибке, выглядит примерно так:

ListA.FirstOrDefault().ListB = 
    (from b in ListB where (ListA.Any(x => x.PayID == b.PayID) select b))
    .ToList().FirstOrDefault();

То, что я хочу получить, выглядит примерно так:

select moneydesc 
from listb b 
inner join lista a on b.payid = a.payid

Но я получаю сообщение об ошибке «EntityReference может иметь не более одного связанного объекта». Однако, если ListB ID отличаются для каждой строки, скажем, 7, 8 и 9, соответственно, ошибка не возникает.

Как мне достичь того, что я имел в виду? Кроме того, FirstOrDefault() не может справиться с этим, поскольку он получает первый элемент в последовательности?

...