Внешние ключи необходимо сопоставить с первичными ключами.В противном случае могут произойти следующие записи:
aspnet_Users
UserId
11111111
11111111
22222222
User
UserId AspUserId
1 11111111
2 11111111
И это не имеет смысла - и нарушает вашу 1-1 кардинальность.
Однако - это сказанное (глядя на старое членствоdb - yuck), поле UserId
на dbo.aspnet_Users
является первичным ключом.
Вы уверены, что у вас есть внешний ключ на правильной таблице?Имеет ли dbo.aspnet_Users
в вашей базе данных PK для UserId
.
Кроме того - старайтесь не отображать таблицы членства - это будет болезненным миром.Отношения в схеме членства очень сложные .
Просто сопоставьте свою собственную таблицу User.Хорошо иметь FK для работы на стороне базы данных (аудит, хранимые процедуры, триггеры и т. Д.).
Но со стороны модели - вы должны взаимодействовать с вашей сущностью User через EF и с aspnet_Users (Membership) через API поставщика членства.
Если вам нужно «соединить их» в своем коде (часто это так), то включите его в службу.