MetadataType не работает с частичным классом в ASP.NET MVC

Привет, у меня проблема с MetadataType с моим частичным классом.

В моем проекте asp.net mvc у меня есть библиотека классов (инфраструктура) с каталогом БД, который содержит мой частичный класс, созданный из БД

пример

namespace BibliEasy.Infrastructure.DB
{
    public partial class Series
    {
        public Series()
        {
            Publications = new HashSet<Publication>();
        }

        public int IdSerie { get; set; }

        public string TitreSerie { get; set; }

        public string StatutSerie { get; set; }

        public int? VolumesSerie { get; set; }

        public virtual ICollection<Publication> Publications { get; set; }
    }
}

Я добавляю файл метаданных для аннотации данных

пример

namespace BibliEasy.Infrastructure.DB
{
    [MetadataType(typeof(SeriesMetaData))]
    public partial class Series { }

    public class SeriesMetaData
    {
        [Display(Name = "Titre")]
        [Required]
        [StringLength(255)]
        public string TitreSerie { get; set; }

        [Display(Name = "Statut")]
        [Required]
        [StringLength(50)]
        public string StatutSerie { get; set; }

        [Display(Name = "Nombre total de volume")]
        [Range(0, int.MaxValue)]
        public int? VolumesSerie { get; set; }
    }
}

И это не работает, в представлении это имя свойства Serie, а не отображение из SeriesMetaData, и проверка не работает.

Что мне не хватает?

для информации архитектура моего проекта

Библиотека классов инфраструктуры

  • Каталог БД

Библиотека классов домена

  • Каталог сервисов с классом, который содержит функцию доступа к БД

Библиотека классов приложений

  • Каталог ViewModels
  • Каталог служб, который содержит контроллер моделей представления

MVCApp

  • Области
  • Контроллеры
  • Просмотры

person njphspv    schedule 02.04.2021    source источник


Ответы (1)


Хорошо, на самом деле я в ASP.NET Core, так что это не MetadataType, а ModelMetadataTypeAttribute

person njphspv    schedule 22.04.2021