Как определить зависимую сущность в ядре Entity Framework? - PullRequest
0 голосов
/ 15 февраля 2020

Я изучил много статей о том, как настроить отношения один к одному. Я узнал это.

Но я не мог понять, как найти зависимую сущность в отношениях один к одному?

Например, у нас есть две сущности User и Developer. Как понять, кто из них является зависимым субъектом? Потому что я думаю, что мы должны добавить внешний ключ к зависимому объекту. Итак, для начала нужно найти зависимую сущность.

public class User
{
    public int Id {get;set;}
    public string PasswordHash { get; set; }
    public string FullName { get { return FirstName + " " +LastName;}}
    public GenderType Gender { get; set; }
    public bool IsActive { get; set; }
    public DateTimeOffset LastLoginDate { get; set; }
    public string FirstName { get ; set ; }
    public string LastName { get; set; }
}

public class Developer
{
    public int Id { get; set; }
    public byte Image { get; set; }
    public int Age { get; set; }
    public string Resume { get; set; }
}

1 Ответ

1 голос
/ 15 февраля 2020

Зависимым является то, что зависит от чего-то еще. Ребенок зависит от своей матери в еде и т. Д. c. Определите, какая сущность может стоять одна, без другой.

Например, вы можете решить, что Пользователь может не быть Разработчиком, но Разработчик всегда является Пользователем - в этом случае ваши отношения на самом деле 1: 0..1 (пользователь: разработчик), и вы глядя на разработчика как подкласса пользователя. Если. В качестве альтернативы вы можете упорядочить вещи по своему усмотрению, и у разработчика есть свойство пользователя (но у пользователя нет свойства разработчика, поскольку не каждый пользователь является разработчиком)

Вы можете решить, что никогда не сможете иметь одно без другого - в этом случае они, вероятно, были бы хорошим кандидатом на то, чтобы быть в той же самой таблице / той же самой стороне стороны клиента

В некоторой степени вопрос может быть академическим; могут быть ситуации, когда вы хотите относиться к одному как к зависимому, а другие - к обратному. Возможно, это в целом поможет вам, если вы примете решение о том, как ваши сущности связаны на стороне клиента, и это будет определять, как вы будете отображать их на стороне базы данных

...