Необязательные отношения один ко многим, использующие структуру сущностей (свободно API) - PullRequest
0 голосов
/ 10 сентября 2018

можем ли мы иметь необязательные отношения один ко многим в рамках сущности

Посмотрите на следующие классы кафедры и личности

public class Person
{
    public int Id{ get; set; }

    public Department Department { get; set; }
    public int DepartmentId
}

public class Department
{
    public int Id{ get; set; }

    public List<Person> Members { get; set; }
}

Person to Department
.HasOptional(m => m.Department)
.WithOptional( d => d.Members)
.HasForeignKey( m=> m.DepartmentId);

и Результат должен быть таким.

Id Name DepartmentId

1 Джон х

2 Ахмад у

3 персоны NULL

4 персоны х

как видно из приведенного выше примера, у кого-то есть отдел, а у кого-то нет а в отделе есть список персон.

Теперь это дает мне ошибку. Как это

Множественность конфликтует с референтным ограничением в роли Поскольку все свойства в зависимой роли не имеют значения NULL, кратность основной роли должна быть равна 1.

1 Ответ

0 голосов
/ 10 сентября 2018

Проблема в том, что ваша модель и конфигурация не совпадают. В свободном API вы настраиваете внешний ключ зависимого как необязательный, но в вашей модели требуется внешний ключ:

В вашем Person изменении класса:

public int DepartmentId

до

public int? DepartmentId

Таким образом вы гарантируете, что внешний ключ может действительно иметь значение 'NULL' в базе данных.

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