c# - 什么是最佳实践?属性还是实体?
问题描述
我正在尝试构建一个人员目录数据库,其中该人员有许多实体,例如地址、电话以及电子邮件和便笺。但我想/尝试将“电子邮件”和“便笺”实现为“人员”类的属性,而不是单独的实体。
在理解如何通过属性实现这一点时,我将不胜感激?这两个选项中哪一个是更好的做法?
我必须补充一点,一个人应该/可以拥有许多电子邮件地址以及 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; }
}
解决方案
使用与您在
public virtual List<AlternativeAddress> AlternativeAddresses { get; set; }
有
public virtual List<string> EmailAdresses { get; set; }
或
public virtual List<EmailEntity> EmailAdresses { get; set; }
两者都很好。这仅取决于您的喜好和操作类型,您必须稍后执行。
推荐阅读
- java - 如何在没有 google play 的情况下在 Android 上安装更新?
- java - Java JDOM2 XML将元素添加到现有的孩子
- javascript - Json输出奇怪的字符
- c# - 在 Selenium C# 中的 Chromium Edge 浏览器中,在 IE 模式下禁用/删除浏览器的信息栏
- azure - 如何在将文件上传到 azure blob 存储容器时使用添加元数据/标签并将其用于在 blob 触发器中进行过滤
- html - 有没有办法在引导程序中使用 jquery 插件“rdmGrid”?
- javascript - 为什么我的 for 循环只读取我创建的数组的最后一个元素?
- java-8 - 如何在 R2dbcRepository 中使用排序和可分页查询子选择
- java - 如何在java中存储来自API调用的变量
- cypress - 赛普拉斯:TypeError window.parent.$ 不是函数