У меня есть следующие две сущности (среди многих, но они вызывают у меня проблему)
public class StartPoint
{
public int StartPointId { get; set; }
public string Description { get; set; }
public int StartPointNumber { get; set; }
public int StartAreaId { get; set; }
public StartArea StartArea { get; set; }
}
и
public class StartArea
{
public int StartAreaId { get; set; }
public string Description { get; set; }
public ICollection<StartPoint> StartPoints { get; set; }
}
При разрешении EF создать мою базу данных он жаловался, что янеобходимо отключить каскадное удаление из-за нескольких путей, которые я сделал следующим образом.
modelBuilder.Entity<StartPoint>()
.HasRequired(x => x.StartArea)
.WithMany()
.HasForeignKey(x => x.StartAreaId)
.WillCascadeOnDelete(false);
Проблема в том, что при создании базы данных я получаю два внешних ключа, один называется StartAreaId, как я быожидать, а другой - StartArea_StartAreaId.Используется только StartAreaId.Почему и как мне избавиться от StartArea_StartAreaId.Если я удаляю HasForeignKey в контексте и удаляю StartAreaId из сущности, я получаю несколько столбцов StartArea_StartAreaId, как в StartArea_StartAreaId и StartArea_StartAreaId1.Что мне нужно сделать, чтобы это не произошло?Я просто хочу, чтобы StartAreaId был моим внешним ключом.