我试图找出是否有办法在 MVC 的 DataAnnotations 中为元数据扩展一个类。
例如:
如果我有一个名为 Vehicle 的模型,其中包含任何汽车共有的所有基本属性,那么我有一个 Truck 模型和一个 Car 模型。两者都是 Vehicle 模型的子类。
现在假设 Vehicle 包含 Engine Size 和 Vehicle Weight 的属性,Truck 包含 Towing Capacity 的属性,Car 包含 Trunk Capacity 的属性。
有没有办法让我只指定一次在车辆中共享的属性的元数据?
我试过类似的东西:
[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;}
}
}
但是在使用卡车或汽车模型的视图中,除非我还在卡车和汽车的部分类中指定注释,否则不会应用元数据。