Почему EF Core автоматически генерирует нулевое свойство - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть две модели:

class ModelA 
{
    public Id {get; set;}
    public int? ModelBId { get; set; }
    public ModelB ModelB { get; set; }
}

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

, и когда я пытаюсь добавить только ModelA (ModelBId равен int?):

var model = new ModelA();
context.ModelAs.Add(model); // after this step ModelB is already set to not null
context.SaveChanges();

EF Core 2.2 вставляет ModelA и ModelB... Почему?Мне просто нужно добавить ModelA с нулевым ModelB ... В EF6 это работает ...

1 Ответ

0 голосов
/ 23 сентября 2019

Определите свой внешний ключ явно следующим образом:

class ModelA 
{
    public Id {get; set;}
    [ForeignKey("ModelB")]
    public int? ModelBId { get; set; }
    public ModelB ModelB { get; set; }
}

или

class ModelA 
{
    public Id {get; set;}
    public int? ModelBId { get; set; }
    [ForeignKey("ModelBId")]
    public ModelB ModelB { get; set; }
}

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