Из всего, что я прочитал и увидел, когда между классами и данными существует отношение FK, Razor должен создать раскрывающееся (выбрать) поле ввода.
Не знаюзнать, где вы видели или читали такие вещи.Вот шаблоны по умолчанию в ASP.NET MVC.Как вы можете видеть, ни один из них не генерирует никаких элементов <select>
, за исключением одного для логического свойства, допускающего обнуляемое значение.
Razor ничего не знает о том, что означает отношение FK.Он не знает, что означает база данных.Razor - это шаблонизатор, работающий с моделями и поддерживающий стандартный редактор и шаблоны отображения (см. Статью, с которой я связан), которые зависят от метаданных, которыми вы украшаете свойства модели, и от типа свойств.Если вы не удовлетворены тем, что предлагают шаблоны по умолчанию, вы, конечно, всегда можете написать свои собственные шаблоны.Например, вы можете написать шаблон редактора, который будет генерировать выпадающий список.Конечно, чтобы создать выпадающий список, не забывайте, что вам нужно 2 вещи: скалярное свойство для привязки выбранного значения к и свойство коллекции некоторого сложного типа, где каждый элемент состоит как минимум из 2 свойств, представляющих значение и текстэто будет использоваться для привязки опций выпадающего списка.