我试图找出是否有办法在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;}
}
}
但是在使用卡车或汽车模型的视图中,除非我还在卡车和汽车的部分类中指定注释,否则不会应用元数据。
答案 0 :(得分:1)
没有
由于引擎反映您的课程以获取注释的方式,因此需要将它们应用于最适合孩子的课程。
您的另一个选择是直接将DataAnnotations应用于相关类,而不是使用单独的元数据类型。