Вот мой сценарий: У меня есть три типа существ, пользователей (идентификатор, адрес электронной почты, пароль), Доброволец (имя, дата рождения ...) и NonProfit (адрес ...) , И добровольцы, и некоммерческие пользователи.Entity Framework наследования составной ключ
Мне удалось создать три таблицы типа tbUser, tbVolunteer и tbNonProfit, где у пользователя есть первичный ключ, а волонтер и некоммерческая организация имеет первичный/внешний ключ пользователя (UserID), но я не хочу этого.
Мой пользователь не является абстрактным классом. Сначала я создам пользователя, например, Мэри, и я скажу, что Мэри имеет тип Volunteer. В следующий момент Мэри войдет в систему и завершит регистрацию, поэтому я создам волонтерскую строку в базе данных.
Короче говоря, мне хотелось бы, чтобы волонтерская таблица имела идентификатор пользователя как внешний ключ и VolunteerID (первичный ключ), чтобы он оставался равным моим инженерным схемам, в которых добровольцы и некоммерческие пользователи. Я не хочу агрегирования или композиции, потому что у моего добровольца UML наследуется от пользователя.
Я открыт для предложений, спасибо y'all
Имея отдельную внешнюю и первичный ключ на 'Volunteer' таблицы будет эффективно сделать его взаимно многие отношения, (пользователь может быть много разных добровольцев). Я не уверен, что вы можете достичь этого, используя наследование. – user2697817