我有一个对象CaseNote
,它有许多子对象,如CaseNoteContactType
。对于1个CaseNote,可以有x个CaseNoteContactType。在UI中,ContactTypes显示在CheckListBox中。
我的问题是如何表示ContactType子对象?这是一对简单的int|string
对。
public Class CaseNote
{
public Guid CaseNoteID { get; set; }
...
public ??? ContactType { get; set; }
etc...
// Down here would be Methods for saving, loading, validating, etc...
}
ContactType
会Dictionary
吗? IEnumerable<ContactType>
? array
,collection
或List<ContactType>
??
在这些场景中有什么意义?在没有CaseNote的情况下,ContactType不存在但是它足以使它成为一个Object吗?我不明白每种类型的含义。此外,CaseNote可以有0到30个ContactTypes吗?
假设我开始创建一个ContactType类的路径,子类是否需要一个属性来存储它的Parent的ID?
指导非常感谢。
如果我离开这里,那是因为我从来没有真正正确地设置商业对象,现在正在努力使我的环境融入我所读过的内容。
答案 0 :(得分:2)
ContactType听起来像参考数据。 CaseNote可以具有0或N个ContactType,并且单个ContactType可以与许多CaseNotes相关联。这是对的吗?
如果是这样,我建议你创建一个名为ContactType的新类型,它包含两个属性,Id和Name(假设这是int和string的用途):
public class ContactType
{
public int Id { get; set; }
public string Name { get; set; }
}
然后在你的CaseNote类中,我将它们声明为List(或IList接口):
public IList<ContactType> ContactTypes { get; set; }
要检查他们是否有任何ContactTypes,您可以这样做:
if( myCase.ContactTypes.Count > 0 )
{
...
}