Я пытаюсь сохранить в базе данных две сущности, которые относятся друг к другу, но одна из сущностей никогда не сохраняет идентификатор другой.
У меня есть класс Location:
public string Name { get; set; }
public string Description { get; set; }
public string Latitude { get; set; }
public string Longitude { get; set; }
public Company Company { get; set; }
[ForeignKey("OpeningTimeId")]
public OpeningTime OpeningTimes { get; set; }
И у меня есть класс OpeningTimes:
public string Monday { get; set; }
public string Tuesday { get; set; }
public string Wednesday { get; set; }
public string Thursday { get; set; }
public string Friday { get; set; }
public string Saturday { get; set; }
public string Sunday { get; set; }
[ForeignKey("LocationId")]
public Location Location { get; set; }
Затем я пытаюсь сохранить их в базе данных следующим образом:
Location location = new Location()
{
Name = LocationDto.Name,
Description = LocationDto.Description,
Latitude = LocationDto.Latitude,
Longitude = LocationDto.Longitude,
Company = LocationDto.Company,
OpeningTimes = new OpeningTime() {
Monday = LocationDto.OpeningTimes.Monday,
Tuesday = LocationDto.OpeningTimes.Tuesday,
Wednesday = LocationDto.OpeningTimes.Wednesday,
Thursday = LocationDto.OpeningTimes.Thursday,
Friday = LocationDto.OpeningTimes.Friday,
Saturday = LocationDto.OpeningTimes.Saturday,
Sunday = LocationDto.OpeningTimes.Sunday,
}
};
_context.Locations.Add(location);
_context.SaveChanges();
Когда это сохраняется в базе данных, столбец OpeningTimeId в таблице Locations заполняется, а столбец LocationId в таблице OpeningTimes - нет.
Теперь в этом конкретном примере мне не нужно обязательно заполнять столбец LocationId, но мне нужно сделать это для других объектов, и я не уверен, почему это не работает.