Список выбора будет возвращать только примитивный тип (string, int и т. Д.), А не весь экземпляр класса. В результате вам нужно будет связать значение со свойством, которое также является таким примитивным типом. Поскольку у вас уже есть свойство TeacherID
, вы можете просто использовать его. При сохранении EF исправит ссылку Teacher
с соответствующим идентификатором.
<select asp-for="TeacherID" class ="form-control" asp-items="ViewBag.Teachers"></select>
Вы должны использовать сохраненный процесс, чтобы переименовать столбец. Следующее переименует ваш столбец из «oldColumnName» в «newColumnName», не затрагивая никаких данных.
EXEC sp_rename 'tableName.[oldColumnName]', 'newColumnName', 'COLUMN'
Очевидно, вам придется обновить любой код / хранимые procs / SQL, который использует старое имя вручную.