假设我有以下课程:
- 电子邮件地址
- 地址
- 接触
- 用户
- 事件
- 任务
- 笔记
每个联系人可以有多个电子邮件地址或多个地址,用户也可以有多个。(家庭住址、公司地址或个人电子邮件、公司电子邮件等)
我在想也许我应该让 User 类扩展 Contact 类。这意味着我将在 EmailAddress 和 Address 类中有一个字段引用它们所属的联系人。
然后我希望能够将注释附加到以下任何类型:事件、任务或联系人。我还希望能够为这些类型附加多个注释。我想不出在数据库中设计这种结构的好方法。
您是否尝试过使用实体数据模型设计器绘制您的类模型并查看它生成的数据库模型?
目前尚不清楚联系人是否与用户具有相同的属性,或者联系人是否由用户共享。让我们举一个不被用户共享的联系人的简单案例。如果电子邮件和电话比字符串更复杂,则在电子邮件和电话类中替换。
Class User
public String name
public List<string> emails
public List<string> phones
public List<contact> contacts
Class Contact
public String name
public List<string> emails
如果联系人具有与用户完全相同的属性,则
Class User
public String name
public List<string> emails
public List<string> phones
public List<User> contacts
如果你想继承那么
Class User : Contact
public List<string> phones
public List<contact> contacts