Я пытаюсь сначала использовать код и свободный API для создания объекта, который содержит две разные сущности из одной и той же таблицы.Другими словами, объект переноса содержит ссылку на два разных объекта резервуара - один является источником, а другой - местом назначения.
Однако, когда я использую следующий код, я получаю исключение, утверждающее, что «ссылочные отношения приведут к циклической ссылке, которая недопустима».
modelBuilder.Entity<Transfer>()
.HasRequired<Tank>(t => t.Source)
.WithMany(t => t.OutboundTransfers);
modelBuilder.Entity<Transfer>()
.HasRequired<Tank>(t => t.Destination)
.WithMany(t => t.InboundTransfers);
Моя лучшая догадка заключается в том, чтоон думает, что я указываю оба ключа на один и тот же танк?Любая идея, как я могу сделать это?
РЕДАКТИРОВАТЬ: нашел ответ как добавление .WillCascadeOnDelete (false) из Entity Framework Code First - два внешних ключа из одной таблицы