C# 使引用数据的子对象成为什么类型?

C# 使引用数据的子对象成为什么类型?,c#,.net,oop,business-objects,C#,.net,Oop,Business Objects,我有一个对象CaseNote,它有许多子对象,比如CaseNoteContactType。对于1个CaseNote,可以有x个CaseNoteContactType。在UI中,联系人类型显示在复选框中 我的问题是如何表示ContactType子对象?它是一个简单的int |字符串对 public Class CaseNote { public Guid CaseNoteID { get; set; } ... public ??? ContactType { get; set; }

我有一个对象
CaseNote
,它有许多子对象,比如
CaseNoteContactType
。对于1个CaseNote,可以有x个CaseNoteContactType。在UI中,联系人类型显示在复选框中

我的问题是如何表示ContactType子对象?它是一个简单的
int |字符串

public Class CaseNote
{
  public Guid CaseNoteID { get; set; }
  ...
  public ??? ContactType { get; set; }
  etc...
// Down here would be Methods for saving, loading, validating, etc...
}
ContactType
会是一本
字典吗<代码>IEnumerable
?一个
数组
集合
,或
列表

在这些场景中,什么是有意义的?ContactType在没有CaseNote的情况下不能存在,但它足以使其成为对象吗?我不明白每种类型的含义。此外,CaseNote可以有0到30种联系人类型,这有关系吗

假设我创建了一个ContactType类,子类是否需要一个属性来存储它的父类ID

非常感谢您的指导


如果我离这里很远,那是因为我从来没有真正正确地设置过业务对象,现在正努力将我的环境与我所阅读的内容相适应。

联系人类型听起来像参考数据。一个CaseNote可以有0个或N个ContactType,单个ContactType可以与多个CaseNote关联。对吗

如果是这样,我建议您创建一个名为ContactType的新类型,它包含两个属性,Id和Name(假设int和string就是用于此的):

然后在CaseNote类中,我将它们声明为列表(或IList接口):


嗯,我相信你是对的。tblCaseNoteContactType存储与其关联的CaseNoteID和ItemID,ItemID是ContactType,其描述存储在维护表中。有道理。。。
public class ContactType
{
    public int Id { get; set; }
    public string Name { get; set; }
}
public IList<ContactType> ContactTypes { get; set; }
if( myCase.ContactTypes.Count > 0 )
{
    ...
}