Создание свойства навигации без явного значения внешнего ключа - PullRequest
0 голосов
/ 08 апреля 2020

Я хочу добавить навигационные свойства для всех пяти уровней опыта в модели сущностей Роль. Мы могли бы заменить значения bool на nullable int (null означает, что уровень не применяется) и использовать его в качестве внешнего ключа для связи с каждым RoleExperienceLevel, однако для этого потребуются столбцы большего размера. Есть ли способ настроить это отношение, чтобы нам не пришлось явно добавлять внешние ключи.

public class Role
{
    public bool IsExperienceLevel1Applied {get;set;}
    public bool IsExperienceLevel2Applied {get;set;}
    public bool IsExperienceLevel3Applied  {get;set;}
    public bool IsExperienceLevel4Applied  {get;set;}
    public bool IsExperienceLevel5Applied  {get;set;}

//Navigational properties
    public RoleExperienceLevel ExperienceLevel1 {get;set;}
    public RoleExperienceLevel ExperienceLevel2 {get;set;}
    public RoleExperienceLevel ExperienceLevel3 {get;set;}
    public RoleExperienceLevel ExperienceLevel4 {get;set;}
    public RoleExperienceLevel ExperienceLevel5 {get;set;}
}

public  class RoleExperienceLevel
{
public int Id {get;set;}
public string Name {get;set;}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...