2014-11-03 3 views
0

Я использую EF6 Code First.EF 6 Code Первые таблицы ASPIdentity в отдельной базе данных

У меня есть библиотека классов «IdentitySecurity», которая содержит контекст «IdentityDBContext», который указывает на базу данных «IdentitySecurity» и IdentityModels.

У меня тогда есть мой веб-проект, содержащий контекст «ProjectDBContext», который указывает на базу данных Project и ProjectModels.

Если я создаю модель в ProjectModels так:

public class Project 
{ 
    public int ProjectId { get; set; } 

    public virtual IdentitySecurity.Models.ApplicationUser UpdateUser { get; set; } 
} 

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

Ошибка она получает при попытке создать новую миграцию заключается в следующем: были обнаружены

Один или несколько ошибок проверки в процессе генерации модели:

Project.Models.IdentityUserLogin:: EntityType «IdentityUserLogin» имеет ключ не определен. Определите ключ для этого EntityType. Project.Models.IdentityUserRole:: EntityType 'IdentityUserRole' не имеет определенного ключа. Определите ключ для этого EntityType. IdentityUserLogins: EntityType: EntitySet «IdentityUserLogins» основан на типе «IdentityUserLogin», который не имеет определенных ключей. IdentityUserRoles: EntityType: EntitySet 'IdentityUserRoles' основан на типе 'IdentityUserRole', который не имеет определенных ключей.

Другой пример, с которым я столкнулся, похож на это, у меня была таблица конфигурации, которую несколько приложений используют в общей области базы данных. Я попытался ссылаться на это в такой модели:

public virtual Common.Models.CommonItem CommonItem {get; задавать; }

В этой ситуации он добавил миграцию и обновил базу данных без ошибок, но фактически она создала таблицу «CommonItem» в базе данных проекта вместо того, чтобы использовать ее в общей базе данных.

Есть ли способ настроить EF6 CodeFirst, поэтому я могу иметь таблицы конфигурации или таблицы ASPIdentity в другой базе данных и все еще ссылаться на них как на виртуальные объекты?

спасибо.

ответ

Смежные вопросы