Я работаю над веб-приложением asp.net mvc. и я определил много классов моделей представлений, которые ссылаются на отдельные классы моделей из разных источников, как показано ниже (где я добавляю к этим классам постфикс со словом «Присоединиться»), поскольку они объединяют отдельные классы моделей, которые определены в другой таблице БД: -
public class ServerJoin : IValidatableObject
{
public Server Server { get; set; }
public Resource Resource { get; set; }
public Technology Technology { get; set; }
public SDOrganization Site { get; set; }
public SDOrganization Customer { get; set; }
public NetworkInfo NetworkInfo { get; set; }
public ICollection<NetworkInfo> NetworkInfo2 { get; set; }
[Display(Name="Unique")]
public bool IsMACUnique { get; set; }
[Display(Name = "Unique")]
public bool IsIPUnique { get; set; }
public Nullable<double> SPEED { get; set; }
public Nullable<Int64> PROCESSORCOUNT { get; set; }
[Display(Name = "IP Unique")]
public bool IsTIPUnique { get; set; }
[Display(Name = "MAC Unique")]
public bool IsTMACUnique { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (Server != null)
{
if (Server.RackUnitID != null && Server.RackID == null)
{
yield return new ValidationResult("Please select a Rack, or remove the current Rack Unit", new[] { "Server.RackUnitID" });
}
}
}
}
и другой класс модели представления: -
public class VMJoin
{
public VirtualMachine VirtualMachine { get; set; }
public Resource Resource { get; set; }
public Technology Technology { get; set; }
public SDOrganization Site { get; set; }
public SDOrganization Customer { get; set; }
public NetworkInfo NetworkInfo { get; set; }
public ICollection<NetworkInfo> NetworkInfo2 { get; set; }
public ICollection<TechnologyIP> TechnologyIP { get; set; }
[Display(Name = "Unique")]
public bool IsMACUnique { get; set; }
[Display(Name = "Unique")]
public bool IsIPUnique { get; set; }
public Nullable<double> SPEED { get; set; }
public TechnologyIP TechnologyIP2 { get; set; }
[Display(Name = "IP Unique")]
public bool IsTIPUnique { get; set; }
[Display(Name = "MAC Unique")]
public bool IsTMACUnique { get; set; }
}
теперь я хочу определить свойства общего класса для всех моделей представления, этот общий класс используется для вызова внешнего API, класс выглядит следующим образом:
public class GeneralClass
{
public string ResourceName { get; set; }
public string ResourceDesc { get; set; }
public string ResourceType { get; set; }
}
теперь я не уверен, как я могу ссылаться на этот класс внутри моделей представления. я ищу способ определить этот класс как родительский класс и заставить другие классы (serverjoin и vmjoin) расширить этот GeneralClass?. другой вариант (который имитирует управление классами Entity framework) — просто добавить ссылку на GeneralClass внутри Serverjoin и VMjoin ?? так может ли кто-нибудь посоветоваться по этому поводу, пожалуйста?
Спасибо