我對這一切有點新鮮。所以請耐心等待。c#MVC - 繼承和接口
我有一個名爲CrmObject的類,它被其他一些類如Contact所繼承。 現在我想編寫一個接口用於CrmObject的所有子類。我需要Unity.MVC存儲庫。現在我爲每個孩子班都有一個界面,但是應該有更好的方式來做到這一點,這就是爲什麼我在這裏。我很樂意爲此提供鏈接和示例。
波蘇斯:
public class CrmObject
{
[Key]
[Column(Order = 0)]
public int Id { get; set; }
public bool IsProcessed { get; set; }
public string Error { get; set; }
public long PartnerOID { get; set; }
public OrdnungsbegriffeTypeType OrdnungsbegriffTyp { get; set; }
[Required]
public string OrdnungsbegriffTypString { get; set; }
public string OrdnungsbegriffWert { get; set; }
public CrmJob Job { get; set; }
[ForeignKey("Job")]
[Column(Order = 1)]
public int JobId { get; set; }
}
[Table("Contacts")]
public class Contact: CrmObject
{
public DateTime KontaktAm { get; set; }
public string ErstelltVon { get; set; }
public DateTime ErstelltAm { get; set; }
public string Vorlage { get; set; }
}
[Table("Tasks")]
public class Task: CrmObject
{
public long AufgabeOID { get; set; }
public string ExterneId { get; set; }
public string Aufgabendefinitionsname { get; set; }
}
接口:
public interface ICrmObjectRepository
{
void Add(CrmObject o);
void AddRange(IEnumerable<CrmObject> o);
void Remove(int crmObjectId);
IEnumerable<CrmObject> GetObjectsByJobId(int crmJobId);
CrmObject FindById(int crmObjectId);
}
我最好例如像,不僅使用CrmObject型作爲參數添加的功能,但CrmObject的孩子,太。
也許我錯了,我想這樣做的方式是愚蠢的,不可能的或兩者兼而有之。我真的很喜歡有更多經驗的人給我提示如何做到最好。如果有任何額外的信息需要請求。
在此先感謝