在数据注释中扩展类

时间:2012-12-20 16:11:51

标签: asp.net-mvc

我试图找出是否有办法在MVC中的DataAnnotations中为元数据扩展一个类。

例如:

如果我有一个名为Vehicle的模型,其中包含任何汽车共享的所有基本属性,然后我有一个卡车模型和一个汽车模型。这两个都是Vehicle模型的子类。

现在假设车辆包含发动机尺寸和车辆重量的属性,卡车包含属性牵引能力和车辆包含属性行李箱容量。

我有没有办法只指定一次在Vehicle中共享的属性的元数据?

我尝试过类似的东西:

[MetadataType(typeof(VehicleMD))]
public partial class Vehicle
{
   public class VehicleMD
   {
       [Display(Name = "Engine Size")]
       public double EngineSize {get;set;}

       [Display(Name = "Vehicle Weight")]
       public double VehicleWeight {get;set;}
    }
 }

但是在使用卡车或汽车模型的视图中,除非我还在卡车和汽车的部分类中指定注释,否则不会应用元数据。

1 个答案:

答案 0 :(得分:1)

没有

由于引擎反映您的课程以获取注释的方式,因此需要将它们应用于最适合孩子的课程。

您的另一个选择是直接将DataAnnotations应用于相关类,而不是使用单独的元数据类型。