Есть, скажем, таблица Attachments со столбцами: id | ownerId | ownerType, которые, соответственно: первичный ключ, внешний ключ и таблица, к которой относится внешний ключ.
Например:
id | ownerId | ownerType
---------------------------------
1 1 Post
2 1 Comment
Можно ли средствами EntityFramework организовать связь так, чтобы на выходе в сущности поста и комментария были коллекции с их вложениями? Что-то вроде:
builder.Entity<Post>().
.HasMany(p => p.Attachments)
.WithOne()
.HasForeignKey(a => a.OwnerId); // and a.OwnerType = "Post"
UPD: В комментариях посоветовали просто добавить свойство коллекции вложений в нужные сущности и доверить остальное самой EF. Я так и сделал.
А потом мне захотелось добавить третью сущность с вложениями.
Не выглядит ли подобное решение немного странным? Аж 3 внешних ключа.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости