什么是最佳做法?属性还是实体?

时间:2018-10-08 14:22:50

标签: c# database-design relational-database

我正在尝试建立人员目录数据库,该人员具有许多实体,例如地址,电话以及电子邮件和便笺。 但我想/尝试将“电子邮件”和“注释”实现为“人”类的属性,而不是单独的实体。

在理解如何通过属性实现此目标方面,我将不胜感激。 这两个选项中的哪一个是更好的做法?

我必须补充一点,一个人应该/可以拥有许多电子邮件地址以及注释。

这是我的人物课程:

    public class Person
{
    public Person()
    {
        this.PrimaryAddress = new Address();
        this.AlternativeAddresses = new List<AlternativeAddress>();
        this.TelefonNumbers = new List<Telefon>();
    }

    public int PersonID { get; set; }

    public string FirstName { get; set; }

    public string MiddleName { get; set; }

    public string LastName { get; set; }

    public string Email { get; set; }

    public string Notes { get; set; }

    public virtual Address PrimaryAddress { get; set; }

    public virtual List<AlternativeAddress> AlternativeAddresses { get; set; }

    public virtual List<Telefon> TelefonNumbers { get; set; }
}

1 个答案:

答案 0 :(得分:1)

使用与在 public virtual List<AlternativeAddress> AlternativeAddresses { get; set; }

public virtual List<string> EmailAdresses { get; set; } 要么 public virtual List<EmailEntity> EmailAdresses { get; set; }

两个都很好。这仅取决于您的喜好和操作类型,您稍后必须执行。