我工作的一個asp.net MVC Web應用程序內的其他類。和我已經定義許多視圖模型類,其中參考單獨的模型類從不同的來源如下,因爲它們加入被不同DB表內定義的單獨的模型類(其中,i與單詞「加入」後綴這些類): -繼承與引用我的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框架如何管理類)僅僅是添加了ServerJoin中的GeneralClass的引用VMjoin?所以任何人都可以請這樣嗎?
感謝
EF將處理繼承或組合物。您需要確定ServerJoin「是」GeneralClass(繼承)還是ServerJoin「具有」GeneralClass(組合)「。 http://www.w3resource.com/java-tutorial/inheritance-composition-relationship.php –
@SteveGreene我需要它是「是」,但不知道如何我會延長我的serverjoin在這種情況下,它已經擴展IValidatableObject ? –