Различные сопоставления EntityTypeConfiguration для одного и того же класса - PullRequest
0 голосов
/ 03 августа 2011

У меня есть две сущности, которые используют один и тот же класс для представления имени:

Участник

class Participant
{
  public PersonName Name { get; set; }
}

Судья

class Judge
{
  public PersonName Name { get; set; }
}

PersonName

class PersonName
{
  public string First { get; set; }
  public string Last { get; set; }
  public string Full { get; set; }
}

В таблице для Participant значение Last является обязательным (ненулевым) столбцом.В таблице для Judge используется только значение Full (и необязательно).Моя проблема в том, что EF применяет IsRequired() из моего сопоставления Участника к Judge экземпляру PersonName и, таким образом, происходит сбой, когда для Judge Entity предоставляется только значение Full.

Отображение участников

Property(t => t.Name.Last)
  .IsRequired();

Отображение судей

Property(t => t.Name.Full)
  .HasMaxLength(100);

Ошибка проверки сущности

Поле Judge.Name.Last является обязательным.

Есть ли способ избежать этого конфликта сопоставления, кроме создания отдельных PersonName -подобных классов для каждой ситуации сопоставления?

1 Ответ

0 голосов
/ 04 августа 2011

Зачем избегать отдельного класса, если ваши Judge используют только часть значений PersonName?Имя судьи - это другой класс.

Зависимая от хранилища часть отображения сложного типа распределяется между объектами, использующими этот тип.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...