在MVC中.GetProperties()。ElementAt(1).CustomAttributes返回0

时间:2013-07-23 07:56:15

标签: asp.net-mvc modelattribute

在MVC 4中,我创建了一个ADO.NET实体数据模型(使用数据库优先方法),然后在项目中添加了一个类来添加自定义属性,如 DisplayAttribute DataTypeAttribute < /强>

示例: -

[MetadataType(typeof(UploadFilesMetaData))]
//UploadFiles is the class defined in my Model Object
public partial class UploadFiles
{
}

//MetaData class to add attributes
public partial class UploadFilesMetaData
{
    [Required(AllowEmptyStrings = false, ErrorMessage = "Document Name is required field.")]
    [DataType(DataType.Text)]
    [Display(Name = "Document Name")]
    public string DocumentName_vch { get; set; }

    [DataType(DataType.Text)]
    [Display(Name = "Document Description")]
    public string DocumentDescription_vch { get; set; }
}

我的要求是在运行时读取这些属性。

但问题是代码“ type.GetProperties()。ElementAt(1).CustomAttributes ”返回0。

**

上述代码返回预期结果

**如果我向我的模型类添加属性,如UploadFiles。但是这种方法的问题在于,每当我从数据库更新模型时,属性代码都会被覆盖。

请帮忙......

1 个答案:

答案 0 :(得分:0)

您是否在控制器/ API控制器上获取文件。从问题来看,你真正想要的是不清楚!!为什么要更改实体模型对象。强烈建议在其他位置编写自定义类,而不是在ADO.NET生成的模型上编写。