Я чувствую себя глупо, спрашивая об этом, но я просто не могу понять, как создать отношения «один к нулю» или «одно», давая свойства entityID
и entity
.
Возьмите следующеепример:
public class base
{
public int ID {get;set;}
}
public class linked
{
public int ID {get;set;}
public string test {get;set;}
}
Если я добавлю public virtual linked linked {get;set;}
в базовый класс, все будет работать как положено, я получу обнуляемое отношение 1 к 0 или 1.
Однако я понимаю преимуществаиспользования только int / EntityID для хранения отношения в сочетании с виртуальным для отложенной загрузки (например, public int linkedID {get;set;}
в сочетании с виртуальным, описанным выше), но я не могу понять, как создать это, используя тот жеотношения.
Я пытался использовать свободный API Entity<base>().HasOptional(x=>x.linked).WithRequired()
, что, как я думал, должно быть, и это создает отношение от 0 до 0 или 1, но оно не допускает обнуления, чего я не делаюпонять, учитывая HasOptional
.
Я думал, что повернул за угол в понимании Entity Framework, но это действительно отбросило меня назад!Я не могу понять, где я иду не так.Может кто-нибудь, пожалуйста, помогите?