DataTypeAnnotations MetadataType无法按预期工作

我尝试实现Metadatatype,以便将Validation属性从我的Acquisitiecode类分离到AcquisitiecodeAnnotations类中。

现在,当我向Acquisitiecode类添加属性(例如Required,StringLength等)时,验证将按预期进行。当我将这些属性移到AcquisitiecodeAnnotations类并使用MetadataType属性绑定该类时,我将无法工作。

请找到下面的代码示例(为了便于阅读,我将其剥离了)。此外,该项目是ASP.NET Core 3.0 Web应用程序。所有代码(包括示例)也都在.NET Core 3.0项目中运行。

代码段1:

using System;
using System.ComponentModel.DataAnnotations;

namespace Shared.Entities
{
    [MetadataType(typeof(AcquisitiecodeAnnotations))]
    public partial class Acquisitiecode
    { }

    public partial class AcquisitiecodeAnnotations
    {
        [StringLength(4,ErrorMessage = "The value cannot exceed 4 characters. ")]
        public string Acquisitiecode1 { get; set; }
    }
}

代码段2:

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

namespace Shared.Entities
{
    public partial class Acquisitiecode
    {
        public Acquisitiecode()
        {
            Lidmaatschap = new HashSet<Lidmaatschap>();
        }

        public string Acquisitiecode1 { get; set; }

        public virtual Lid Lid { get; set; }
        public virtual ICollection<Lidmaatschap> Lidmaatschap { get; set; }
    }
}
xaiwei007 回答:DataTypeAnnotations MetadataType无法按预期工作

截至2020年10月,当前版本的 Blazor 不支持Metadatatype。 有关更多信息,请阅读this issue

本文链接:https://www.f2er.com/3072594.html

大家都在问