Несколько контекстов с использованием дублирующих таблиц EF 6 в идентификаторе db и main db - PullRequest
0 голосов
/ 02 мая 2019

Это может быть очевидно, но я скучаю по нему, так что извините, если так.У меня есть проект, использующий код Entity Framework в первую очередь и все такое хорошее.Я прочитал, что вы должны хранить структуру Identity отдельно от основной БД, поэтому я создал для нее отдельный контекст.Пока все хорошо, и хотя есть некоторая дополнительная сложность, это не так уж и много.

Однако я хочу сослаться на объект Address из основного объекта Identity User (у каждого пользователя будет хотя бы один), но есть необходимость в других адресах, не связанных с пользователями, но все же адреса, верно?Так они идут в основном контексте БД.Я добавил класс Address в модель Identity:

        public Address Address { get; set; }

При этом используется определение класса Address, которое используется в «MainDBcontext»:

        public DbSet<Address> Addresses { get; set; }

Я добавляю миграции, чтобы установитьвсе это заканчивается, но в итоге получается адресная таблица в обеих базах данных.Кроме того, я получаю разные данные в каждой таблице адресов из метода seed в зависимости от того, относится ли этот адрес к пользователю или нет.Думаю, это имеет смысл, но очень хотелось бы, чтобы все адреса были в одном месте.Да, я думаю, что я мог бы просто удалить таблицу адресов из контекста 'MainDB' и использовать Identity, но тогда я могу также переместить все через ...

У меня возникает соблазн просто переместить все в одинБД и покончили с этим, но прежде чем я это сделаю, я хотел посмотреть, не было ли уловки, которую я пропускаю.

Есть идеи?

...