есть два контекста данных и две базы.
1) IdentityContext - это все пользователи от identityServer
2) DataContext - это грубо говоря информация, которая связана с пользователями - эти данные связаны с IdentityUser
При миграции и обновлении (создании базы DataContext) создается база в которой создается таблица IdentityUser. Почему так? У меня же есть отдельная база
Как тогда строить работу между двумя базами?
Может быть просто записывать Id пользователя во 2 базу и подбирать пользователя вручную из 1 базы?
ты когда мигрируешь, должен указывать для какого контекста миграция Скорее всего ты изнаально неправильно как-то создал миграцию.
Таких проблем не должно быть.
Миграция создалась верно, база создалась, но так как в ней есть сущности, которые связаны с IdentityUser, то создалась и таблица IdentityUser
Для каждой базы и контекста я создаю свои миграции и апдейты
как они могут быть связаны если они из разных контекстов и разных баз? не понятно что это означает.
Ну у меня в одном контексте пользователи, в другом другая информация, которая связана с каждым пользователем
что значит связана? Ты релейшен прямой что ли сделал между ними через виртуальные свойства?
Это сущность из первого контекста данных (просто данные) public class Change { public string Id { get; set; } public string UserRevitName { get; set; } public DateTime ChangeTime { get; set; } public string Description { get; set; } public string ChangeType { get; set; } // Связь с IdentityUser public string IdentityUserId { get; set; } public BimDataUser IdentityUser { get; set; } // Связь с Project public string ProjectId { get; set; } public Project Project { get; set; } } Вот сущность из второго контекста данных: public class BimDataUser : IdentityUser { public string RevitUserNickName2020 { get; set; } public string RevitUserNickName2022 { get; set; } public BimDataUser () { } }
оставь просто айдишник и не делай этой связи. Ты получил как раз то что и написал. Пытаешься связать таблицы из разных баз, при миграции оно видит что есть эта связ и создает тебе таблицу.
Вот я про это. Надо промеждуточную сущность сделать
в сервисе инжектиш 2 репозитория и возвращаешь уже полную сущность если надо.
Обсуждают сегодня