首页 > 解决方案 > 什么是最佳实践?属性还是实体?

问题描述

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

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

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

这是我的个人课程:

    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; }
}

标签: c#database-designrelational-database

解决方案


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

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

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


推荐阅读