В моей базе данных есть две таблицы:
Сценарий :
Id
Name
Location_Id
Расположение :
Id
Name
Итак Сценарий имеет внешний ключ для Местоположение .
В коде у меня есть это:
Scenario.cs:
public int Id { get; set; }
public string Name { get; set; }
public int LocationId { get; set; }
Location.cs
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Screen> Screens { get; set; } // I do not really need this...
Когда я использую его таким образом, я получаю исключение:
SqlException: Неверное имя столбца 'LocationId'
Но, когда я использую public virtual Location { get; set; }
в моем Scenario
классе, это, конечно, распознает взаимосвязь.
Мне хотелось бы, чтобы EF автоматически «отображал» LocationId
на Location_Id
. Я не хочу LocationId
в моей базе данных, потому что другие внешние ключи используют подчеркивание: Entity_Id
. Поэтому я не хочу настраивать каждый внешний ключ следующим образом:
modelBuilder.Entity<Scenario>().Property(s => s.LocationId).HasColumnName("Location_Id");