Entity Framework, устанавливающий ссылку внешнего ключа на таблицу aspnet_users без класса сущности - PullRequest
1 голос
/ 18 марта 2012

Я пытаюсь добавить ссылку на внешний ключ в таблицу aspnet_users в мою таблицу Users, чтобы просто расширить aspnet_users.Я использую EF и не хочу создавать класс сущности aspnet_users.Есть ли способ использовать свободный API для создания ссылки внешнего ключа на таблицу, которую EF в настоящее время не отслеживает?

Я знаю, что это не свободный API, но я попробовал следующее с очевидной ошибкой:

[ForeignKey("aspnet_users.UserId")]

Спасибо.

1 Ответ

1 голос
/ 18 марта 2012

Это невозможно и с помощью API. Вам придется выполнить SQL вручную, чтобы создать FK. Если вы используете инициализатор базы данных, вы можете попробовать что-то вроде этого.

public class MyInitializer : CreateDatabaseIfNotExists<MyDbContext>
{
    protected override void Seed(MyDbContext context)
    {
        //your logic here
        context.Database.ExecuteSqlCommand("alter table MyTable
add constraint MyTable_MyColumn_FK FOREIGN KEY ( MyColumn ) references aspnet_users(UserId)");    
    }
}
...