2015-08-02 3 views
1

У меня есть веб-приложение ASP.NET MVC 5. Я подключился к базе данных localDB («MyWebAppDatabase»), которая уже содержит много таблиц. Я обращаюсь к этому с помощью ADO.NET Entity Framework, и все это отлично работает.Связать ASP.NET ApplicationUser в другой базе данных

Однако я хотел бы добавить таблицу, которая ссылается на пользователей, которые используют веб-сайт: у меня есть таблица «Подписка» и я хочу связать ее с ApplicationUser. Проблема в том, что таблицы, содержащие информацию пользователя, хранятся в отдельной базе данных (которая была автоматически сгенерирована Visual Studio при создании проекта в контексте DefaultConnection), и я не знаю, как я могу выполнить эту связь.

Каков наилучший способ для этого? Я думал, что идеальным решением было бы, если бы я мог перемещать таблицы, которые ASP.NET автоматически создавал для пользователей приложений в MyWebAppDatabase, - тогда я могу легко обновить базу данных с помощью правильных таблиц и внешних ключей. Это верно? Если да, то как мне это сделать? Я не совсем уверен, где база данных для пользователей приложения (я не мог ее расшифровать, если посмотреть на Web.Config и прочитать строку подключения DefaultConnection), и я не совсем понимаю, как я мог бы переносить таблицы ,

Спасибо вам за помощь!

ответ

0

В идеале, если вы можете переместить таблицы в одну базу данных, вы получите максимальную производительность, иначе вам придется делать все JOIN в памяти в приложении. К сожалению, вы не можете ссылаться на внешние ключи в базе данных.

Если вы укажете строку подключения для идентификатора ASP.NET в той же базе данных, в которой находится ваша таблица подписки, и запустите приложение и создайте некоторые пользователи, он должен автоматически создать эти таблицы.

+0

Спасибо Райан, спасибо, что я подозревал, но как я могу получить базу данных, чтобы указать на мою базу данных? После того, как вы предложили ранее, я получил это сообщение: Тип объекта ApplicationUser не является частью модели для текущего контекста. Изменить: я также просто просмотрел таблицы базы данных и не создал никаких новых таблиц. –

+1

Argh это действительно работает, но мне просто пришлось изменить одну мелочь ... Я оставил 'providerName =" System.Data.EntityClient "' в теге строки подключения, но мне нужно было изменить его на 'providerName = 'System .Data.SqlClient "'! Но спасибо за вашу помощь, ты заставил меня указывать в правильном направлении! –