Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc MVC Core 2.1:找到多个相同类型的自定义属性_Asp.net Mvc_Asp.net Core_.net Core - Fatal编程技术网

Asp.net mvc MVC Core 2.1:找到多个相同类型的自定义属性

Asp.net mvc MVC Core 2.1:找到多个相同类型的自定义属性,asp.net-mvc,asp.net-core,.net-core,Asp.net Mvc,Asp.net Core,.net Core,我写了一个模型。我转到控制器并收到以下错误: 找到多个相同类型的自定义属性 我查看了我的模型十几次,在任何属性上都没有看到重复的属性。我不知道这里发生了什么事 using Supplies.Web.Resources; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace Supplies.Web.Models { public

我写了一个模型。我转到控制器并收到以下错误:

找到多个相同类型的自定义属性

我查看了我的模型十几次,在任何属性上都没有看到重复的属性。我不知道这里发生了什么事

using Supplies.Web.Resources;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace Supplies.Web.Models
{
    public class Inventory
    {
        public Inventory()
        {
            this.IsActive = true;
        }

        [Column(TypeName = "int")]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [Key]
        [ScaffoldColumn(false)]
        public int Id { get; set; }

        [Display(AutoGenerateField = false, AutoGenerateFilter = false, Description = "Is active.", Name = "IsActive", Prompt = "IsActive", ResourceType = typeof(PropNames), ShortName = "Is Active")]
        [Required(AllowEmptyStrings = false, ErrorMessage = null, ErrorMessageResourceName = "Required", ErrorMessageResourceType = typeof(SysMsg))]
        public bool IsActive { get; set; }

        [Column(TypeName = "varchar(250)")]
        [DataType(DataType.Text)]
        [Display(AutoGenerateField = false, AutoGenerateFilter = false, Description = "Item description.", Name = "ItemDescription", Prompt = "ItemDescription", ResourceType = typeof(PropNames), ShortName = "Item Description")]
        [MaxLength(250)]
        [MinLength(10)]
        [Required(AllowEmptyStrings = false, ErrorMessage = null, ErrorMessageResourceName = "Required", ErrorMessageResourceType = typeof(SysMsg))]
        [StringLength(250, ErrorMessage = null, ErrorMessageResourceName = "LengthBetween", ErrorMessageResourceType = typeof(SysMsg), MinimumLength = 10)]
        public string ItemDescription { get; set; }

        [Column(TypeName = "varchar(50)")]
        [DataType(DataType.Text)]
        [Display(AutoGenerateField = false, AutoGenerateFilter = false, Description = "MFG.", Name = "MFG", Prompt = "MFG", ResourceType = typeof(PropNames), ShortName = "MFG")]
        [MaxLength(50)]
        [MinLength(2)]
        [Required(AllowEmptyStrings = false, ErrorMessage = null, ErrorMessageResourceName = "Required", ErrorMessageResourceType = typeof(SysMsg))]
        [StringLength(50, ErrorMessage = null, ErrorMessageResourceName = "LengthBetween", ErrorMessageResourceType = typeof(SysMsg), MinimumLength = 2)]
        public string MFG { get; set; }

        [Column(TypeName = "int")]
        [Display(AutoGenerateField = false, AutoGenerateFilter = false, Description = "Reorder level.", Name = "ReorderLevel", Prompt = "ReorderLevel", ResourceType = typeof(PropNames), ShortName = "Reorder Level")]
        [Required(AllowEmptyStrings = false, ErrorMessage = null, ErrorMessageResourceName = "Required", ErrorMessageResourceType = typeof(SysMsg))]
        public int ReorderLevel { get; set; }

        [Column(TypeName = "int")]
        [Display(AutoGenerateField = false, AutoGenerateFilter = false, Description = "Reorder quantity.", Name = "ReorderQuantity", Prompt = "ReorderQuantity", ResourceType = typeof(PropNames), ShortName = "Reorder Quantity")]
        [Required(AllowEmptyStrings = false, ErrorMessage = null, ErrorMessageResourceName = "Required", ErrorMessageResourceType = typeof(SysMsg))]
        public int ReorderQuantity { get; set; }
    }
}

我四处搜索,发现了一些可能有用的东西,现在它开始工作了

您似乎不能同时使用[DataType(DataType.EmailAddress)]和[EmailAddress]

类似地,[DataType(DataType.PhoneNumber)]和[Phone]也是如此

您可以在EF6中这样做,但Core似乎不喜欢它?这太奇怪了

[Column(TypeName = "varchar(128)")]
[DataType(DataType.EmailAddress)]
[Display(AutoGenerateField = false, AutoGenerateFilter = false, Description = "Email address.", Name = "EmailAddress", Prompt = "EmailAddress", ResourceType = typeof(PropNames), ShortName = "Email Address")]
//[EmailAddress]
[MaxLength(128)]
[MinLength(6)]
[Required(AllowEmptyStrings = false, ErrorMessage = null, ErrorMessageResourceName = "Required", ErrorMessageResourceType = typeof(SysMsg))]
[StringLength(128, ErrorMessage = null, ErrorMessageResourceName = "LengthBetween", ErrorMessageResourceType = typeof(SysMsg), MinimumLength = 6)]
public string EmailAddress { get; set; }
[DataType(DataType.EmailAddress)]和[EmailAddress]是我的原因