У меня есть отношения 1-к-0..1, определенный в Entity Framework кода первой модели, как это:Entity Framework Code First: 1: 0..1 Изменение внешнего ключа Расположение
public class Album
{
public int AlbumId { get; set; }
public int StampId { get; set; }
public Stamp Stamp { get; set; }
// other properties
}
public class Stamp
{
public int StampId { get; set; }
public int AlbumId { get; set; }
[Required]
public Album Album { get; set; }
// other properties
}
Зв альбом имеет 0..1 штампов, у штампа всегда есть ровно один альбом. Конфигурация, которую я здесь, работает хорошо. Однако, когда я смотрю, какие столбцы генерируются в базе данных, я немного недоволен: внешний ключ создается в таблице Album
.., что делает его жестким/медленным, чтобы вставлять новые штампы, поскольку вам всегда нужно изменить таблицу Album
и обновить внешние ключи StampId
. (Это означает, что мне нужно отслеживание изменений для изменения этих полей)
Как я могу указать Entity Framework создать внешний ключ в таблице Stamp
?
Я также не знаю, какую роль должно играть объявление свойств навигации в этом контексте .. имеет ли значение эти свойства, определенные в обоих направлениях?