在c#中建模数据库外键

我正在创建一个日历应用程序.我有一个约会表和一个人员表. 2由每个表中的PersonID字段链接.

我的问题是,我的基础.Net Appointment对象是否包含PersonName的属性,我从数据库视图(或连接表的存储过程)填充对象,或者让Appointment类包含People类更正确?如果答案是后者,那么从数据库填充约会/人物对象的最佳方法是什么?

最佳答案 假设您没有使用ORM,您可以查看DAO模式:

http://en.wikipedia.org/wiki/Data_access_object

我会创建两个DTO:

class Person
{
    public int id { get; set; }
    public String name { get; set; }
}

class Appointment
{
    public int id { get; set; }
    public Date when { get; set; }
    public Person who { get; set; }
}

还有一个“完整”的预约课程:

class FullAppointment
{
     private Person person;
     private List<Appointment> appointment;
}

然后一个DTO从DB获取数据:

class AppointmentDTO
{
   public FullAppointment retrieveFromDb(int personId)
   {//...}
}
点赞