Asp.net mvc 在数据注释中扩展类
我试图找出是否有一种方法可以在MVC的DataAnnotations中为元数据扩展一个类 例如: 如果我有一个名为Vehicle的模型,它包含所有汽车共享的基本属性,然后我有一个卡车模型和一个汽车模型。这两个都是车辆模型的子类 现在假设车辆包含发动机尺寸和车辆重量属性,卡车包含牵引能力属性,汽车包含行李箱能力属性 是否有一种方法可以让我只为车辆中共享的属性指定一次元数据 我试过类似的方法:Asp.net mvc 在数据注释中扩展类,asp.net-mvc,Asp.net Mvc,我试图找出是否有一种方法可以在MVC的DataAnnotations中为元数据扩展一个类 例如: 如果我有一个名为Vehicle的模型,它包含所有汽车共享的基本属性,然后我有一个卡车模型和一个汽车模型。这两个都是车辆模型的子类 现在假设车辆包含发动机尺寸和车辆重量属性,卡车包含牵引能力属性,汽车包含行李箱能力属性 是否有一种方法可以让我只为车辆中共享的属性指定一次元数据 我试过类似的方法: [MetadataType(typeof(VehicleMD))] public partial clas
[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;}
}
}
但是在使用Truck或Car模型的视图中,元数据不会应用,除非我还为Truck和Car指定了分部类中的注释。否
由于引擎对类进行反射以获取注释的方式,它们需要应用于most子类
您的另一个选择是直接将DataAnnotation应用于所讨论的类,而不是使用单独的元数据类型。Ok。谢谢我很好奇,因为在我解决这个问题的过程中,我实际上有6个不同的模型,它们是从一个模型扩展而来的。我想如果我可以更改父类的DataAnnotation,它会影响所有子类,而不必在每个类中放置每个注释,那么它会更干净、更易于维护。