当前位置:  开发笔记 > 编程语言 > 正文

ASP.NET Core MetaDataType属性不起作用

如何解决《ASP.NETCoreMetaDataType属性不起作用》经验,为你挑选了1个好方法。

我在我的域模型类上使用MetaDataType属性.它应该将属性信息从引用的类移动到已设置MetadataType属性的类中.但它没有像宣传的那样做.造成这个问题的原因是什么?

[MetadataType(typeof(ComponentModelMetaData))]
public partial class Component
{
    public int Id { get; set; }
    public string Name { get; set; }
    public ICollection Repos { get; set; }
    public string Description { get; set; }   
}


public class ComponentModelMetaData
{
    [Required(ErrorMessage = "Name is required.")]
    [StringLength(30, MinimumLength = 3, ErrorMessage = "Name length should be more than 3 symbols.")]
    public string Name { get; set; }
    public ICollection Repos { get; set; }
    [Required(ErrorMessage = "Description is required.")]
    public string Description { get; set; }        
}

Guilherme Du.. 43

ASP.NET核心使用

Microsoft.AspNetCore.Mvc **ModelMetadataType** 

代替

System.ComponentModel.DataAnnotations.**MetadataType** 

资源

尝试将您的属性更改为 [ModelMetadataType(typeof(ComponentModelMetaData))]



1> Guilherme Du..:

ASP.NET核心使用

Microsoft.AspNetCore.Mvc **ModelMetadataType** 

代替

System.ComponentModel.DataAnnotations.**MetadataType** 

资源

尝试将您的属性更改为 [ModelMetadataType(typeof(ComponentModelMetaData))]


最深切的感谢您为.NET Core 1.0找到Microsoft.AspNetCore.Mvc.ModelMetadataTypeAttribute ...不同的名称,不同的命名空间......不难找到.无论如何,这是正确答案,因为部分类Component似乎是模型声明.我更喜欢使用名为相同且与模型位于相同逻辑名称空间的部分类,以将Validate和元数据的注释应用于模型.这样,如果我从数据库重新生成模型,我不会丢失我的编辑.
推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有