Asp.net mvc 3 entityframework POCO的元数据类

Asp.net mvc 3 entityframework POCO的元数据类,asp.net-mvc-3,model-view-controller,c#-4.0,entity-framework-4,Asp.net Mvc 3,Model View Controller,C# 4.0,Entity Framework 4,我正在为POCO对象创建一个元数据类。我正在向元数据类添加“CSVColumn”(来自LINQToCSV)属性。但是当我运行程序时,它找不到它的属性 所以我用反射测试了它 Type t = typeof(Case); PropertyInfo pi = t.GetProperty("ProviderId"); //bool isReadOnly = ReadOnlyAttribute.IsDefined(pi,typeof( ReadOnlyAttribute); var attribut

我正在为POCO对象创建一个元数据类。我正在向元数据类添加“CSVColumn”(来自LINQToCSV)属性。但是当我运行程序时,它找不到它的属性

所以我用反射测试了它

Type t = typeof(Case);
PropertyInfo pi = t.GetProperty("ProviderId");  
//bool isReadOnly =  ReadOnlyAttribute.IsDefined(pi,typeof( ReadOnlyAttribute);
var attributes = pi.GetCustomAttributes(typeof(Case),true);
它通过调用“GetCustomAttributes”实际上不返回任何内容

我做错了什么

下面是我创建元数据类的方法

我不明白的一件事是,它与MVC验证配合得非常好。想知道如何检索自定义属性

这是entityframework POCO对象

public partial class Case
{
public string ProviderName { get; set; }        
public string ProviderId { get; set; }
}
这里我创建了一个案例和元数据类的部分类

[MetadataType(typeof(CaseMetaData))]
public partial class Case
{
    public class CaseMetaData
    {

        [CsvColumn(Name = "ProviderName", FieldIndex = 1)]
        public string ProviderName { get; set; }

        [CsvColumn(Name = "ProviderID", FieldIndex = 2)]
        public string ProviderId { get; set; }

    }

}
请有人能帮助我,非常感谢

Cheers

typeof(Case)
不是属性类型。
您的意思是
typeof(CsvColumnAttribute)

而且,标准反射不知道元数据类。
您需要使用
关联的MetadataTypeDescriptionProvider


可以找到一个很好的例子

对不起,这是一个打字错误。谢谢你的及时答复,我会查的。干杯