【问题标题】:MetadataType don't work with partial class in ASP.NET MVCMetadataType 不适用于 ASP.NET MVC 中的部分类
【发布时间】:2021-06-29 16:38:58
【问题描述】:

您好,我的部分类的 MetadataType 有问题

在我的 asp.net mvc 项目中,我有一个带有 DB 目录的类库(基础结构),其中包含从 DB 中搭建的部分类

示例

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 的显示,并且验证不起作用。

我错过了什么?

关于我的项目架构的信息

基础设施类库

  • 数据库目录

领域类库

  • Services 目录,其中包含对 DB 的访问功能的类

应用类库

  • ViewModels 目录
  • 包含视图模型控制器的服务目录

MVC应用

  • 地区
  • 控制器
  • 观看次数

【问题讨论】:

    标签: c# asp.net-mvc data-annotations partial-classes metadatatype


    【解决方案1】:

    好吧,事实上我在 ASP.NET Core 所以它不是 MetadataType 而是 ModelMetadataTypeAttribute

    【讨论】:

      猜你喜欢
      • 2016-12-23
      • 1970-01-01
      • 1970-01-01
      • 2011-01-08
      • 1970-01-01
      • 2020-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多