Member 12824529 Ответов: 1

Как я могу изменить отображаемые имена полей базы данных в MVC?


У меня есть модель MVC, в которой большинство имен полей являются однобуквенными строками, потому что желаемые заголовки столбцов моего клиента-это предложения длиной до 15 слов. В базе данных я сохранил имена полей маленькими, чтобы можно было добавлять вычисляемые поля (все данные-это небольшие целочисленные значения). Я как бы перенес одно-и двухбуквенные имена полей из Excel в SQL Server, поскольку Excel был исходной "базой данных".

Как вы можете видеть ниже, я добавил пространство имен DataAnnotations и использую директиву Display для изменения имен полей, отображаемых в представлениях MVC, точно так же, как я видел это в обучающих видео. Я показываю два поля ниже, но на самом деле таких полей много, а также много таких таблиц. В отличие от обучающего видео, где все всегда работает идеально, однобуквенные имена полей, следующие за "Display (" , дают мне ошибку, которая говорит "Лучшая перегрузка для 'DisplayAttribute' не имеет параметра с именем 'G'". Он говорит "H" для второго и так далее.

Что вызывает эту ошибку? Как я могу получить эту ошибку, отмеченную на каждом имени Поля после 'Display (' , чтобы уйти? У меня есть 21 такая же таблица. Я надеюсь, что мне не придется переделывать всю базу данных с очень длинными именами полей. Спасибо за помощь.

Что я уже пробовал:

использование системы;
использование системы.Коллекции.Общий;
использование System. Linq;
использование системы.Сеть;
использование системы.ComponentModel.DataAnnotations;

пространство имен MyProject.Модели
{
[MetadataType(typeof(hraInMetaData))]
общественный разделяемого класса hraIn
{
}

публичный класс hraInMetaData
{
[Дисплей (G: "Длинное Имя Поля 1")]
общественного значения null&ЛТ;байт&ГТ; г { получить; набор; }

[Display(H: "Длинное Имя Поля 2")]
общественного значения null&ЛТ;байт&ГТ; ч { получить; набор; }
.
.
.
.

Philippe Mori

Где вы видели код с G:? Похоже, вы изобрели свой собственный синтаксис, который не поддерживается компилятором.

1 Ответов

Рейтинг:
5

nocturns2

Попробуйте добавить аннотацию данных следующим образом: [Display(Name= " G")]


Member 12824529

Твое решение сработало. Спасибо.