MVC3:获取KeyAttribute

时间:2011-12-12 09:06:47

标签: asp.net-mvc-3 data-annotations

在提供的模型(类)中查找哪个属性具有KeyAttribute的最佳方法是什么?

我试过DataAnnotationsModelMetadataProvider;但ModelMetadata不包含有关KeyAttribute的信息。

2 个答案:

答案 0 :(得分:0)

从未尝试过,但我认为您可以使用TypeDescriptor.GetProperties方法来获取所需的属性。根据MSDN,它使用指定的属性数组作为过滤器返回指定组件的属性集合。

检查此链接。我希望它有所帮助: http://msdn.microsoft.com/en-us/library/3x9x2kh5.aspx#Y0

答案 1 :(得分:0)

对于名为MyModel的模型类,您可以找到具有关键属性的属性,如下所示。

var keyAttributedProps = typeof(MyModel).GetProperties()
   .Where(p => p.GetCustomAttributes(typeof(KeyAttribute), true).Length == 1);