Миграция с NHibernate на Entity Framework 6
Кто-нибудь знает, есть ли способ сделать что-то вроде Nhibernate's ReferencesAny
в EntityFramework?
Фон
Мне было поручено обновить приложение, которое использует NHibernate (в частности, версия 2.1.2.4000). Компания действительно предпочла бы пойти дальше с Entity Framework. В идеале мне не хотелось бы менять схему базы данных (иметь дело с администраторами баз данных), но у меня возникают проблемы с выяснением того, как сопоставить сущность, которая использует ReferencesAny
к чему-то похожему в Entity Framework.
Моя карта Nhibernate
//this is in a Spectator Mapping class, which isn't related at all to the
// Player, Judge, or Viewer
mapping.ReferencesAny(p => p.Owner)
.EntityTypeColumn("owner")
.EntityIdentifierColumn("owner_id")
.AddMetaValue<Player>("player")
.AddMetaValue<Judge>("judge")
.AddMetaValue<Viewer>("viewer")
.IdentityType<int>();
Player
, Judge
, а также Viewer
все происходят от одного базового абстрактного класса Person
но хранятся в базе данных как отдельные таблицы (при этом не существует таблицы для Person
).
Я не смог выяснить, как настроить сопоставления в классах Entity Framework для правильного моделирования этих отношений.
У кого-нибудь есть мысли или я должен попытаться убедить власть имущих просто сохранить NHibernate?