Чтобы хранить информацию о том, какие B
s принадлежат A
, база данных должна где-то хранить эту информацию. Без него невозможно было бы установить, какие B
с возвращать при извлечении записи A
.
Это может быть либо с помощью внешнего ключа aId
на B
, либо с помощью отношения «многие ко многим» с промежуточной таблицей / таблицей соединений, которая содержит как минимум aId
и bId
.
Существует также возможность сохранения коллекции Bs
в столбце A
и десериализации ее в коде. Например, можно сохранить список идентификаторов, разделенных запятыми, в виде одной строки и добавить свойство / функцию доступа, которые десерализуют данные. Для сложных типов вы можете использовать json
.
Обратите внимание, что я не защищаю хранение json, но если вы не можете / не хотите хранить отношения как столбец B
, это может быть решением.
Кстати. Для EF Core вы можете посмотреть No Foreign Key Property и Shadow Properties, упомянутые там.