Как я отображаю составной первичный ключ в Платформе Объекта 4 кода сначала?

Я справляюсь с кодом EF4 сначала, и симпатия его до сих пор. Но я испытываю затруднения при отображении объекта на таблицу с составным первичным ключом.

Конфигурация, которую я попробовал, похожа на это:

public SubscriptionUserConfiguration()

    {
                Property(u => u.SubscriptionID).IsIdentity();
                Property(u => u.UserName).IsIdentity();
    }

Который выдает это исключение: Не мог вывести ключ для объекта вводят 'SubscriptionUser'.

Что я пропускаю?

46
задан jamesfm 28 April 2010 в 21:26
поделиться

2 ответа

Вы также можете использовать

HasKey(u => new { u.SubscriptionID, u.UserName });

Edit:

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

public ProjectAssignmentConfiguration()
{
    HasKey(u => u.Employee.EmployeeId);
    HasKey(u => u.Project.ProjectId);
}

или

public ProjectAssignmentConfiguration()
{
    HasKey(u => new { u.Employee.EmployeeId, u.Project.ProjectId });
}

Итак, как вы настроить объект, в котором объединенная таблица имеет первичный ключ, который является состоит из внешних ключей?

74
ответ дан 26 November 2019 в 20:13
поделиться

Решено: я должен использовать HasKey, а не Identity. Это работает:

public SubscriptionUserConfiguration()
{
     HasKey(u => u.SubscriptionID);
     HasKey(u => u.UserName);
}
6
ответ дан 26 November 2019 в 20:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: