Что касается Entity Framework, вы можете указать внешний ключ или добавить связанный объект при сохранении основного.
Чтобы ответить на ваш вопрос ... Нет, это не плохая практика, и это также не имеет отношения к EF. Скорее, ваш Container
соответствует Contained
- это проблема, связанная с бизнесом, и там следует ее обработать и проверить. Роль EF в вашем случае заключается в сохранении данных любым выбранным вами методом.
Если вы отметите Contained
EF, вы получите 2 варианта:
public virtual Contained Contained { get; set; }
Добавить внешний ключ:
var containerToSave = new Container
{
ContainedId = contained.ContainedId
}
Добавить саму сущность:
var containerToSave = new Container
{
Contained = new Contained
{
ValueA = x;
ValueB = y;
}
}
В вашем случае, если вы уже добавили Contained
, вы можете перейти к первому, но не менее, любой из вышеперечисленных методов работает просто отлично.