有人可以帮助我了解如何最好地塑造作文关系吗?
例如,如果我有一个可以有很多时间表的学生,我会大致创建:
class Student
{
prop long Pk { get; set; }
prop string Name { get; set; }
prop List<Schedule> Schedules { get; set; }
}
class Schedule
{
prop string Semester { get; set; }
prop List<Course> Courses{ get; set; }
}
在某个地方我可能有一个Schedule对象,并希望识别它属于哪个学生。我希望能够写Schedule.Student.Name
,并收到学生的姓名作为回报。我是否也将Schedule属性添加到Schedule对象中?
我的应用程序已将Student Pk传递给Schedule对象以执行CRUD功能。我将学生PK保存为私有变量,以便在需要时对其进行处理。
随着我的应用程序变得越来越复杂,我发现很难维护我一直在做的事情。你对我有什么建议?我还可以查阅(书籍/链接)以获得更新并更好地处理这些基础知识?
答案 0 :(得分:2)
“我希望能够编写Schedule.Student.Name,并接收学生的姓名。我是否也将Student属性添加到Schedule对象中?”是。
您所描述的内容(支持查找和对象引用的外键以便轻松导航对象图)听起来像对象关系映射器(ORM)非常匹配。一个好的ORM将使用FK / PK为您自动加载相关的对象/对象(例如,如果Schedule具有StudentPK字段,则映射器将为您处理Student属性的加载/映射)。有许多此类产品:您可以使用内置的.NET框架(如Entity Framework),开源的(如NHibernate)或商业产品(如LightSpeed,{{} 3}},LLBLGen或EntitySpaces(披露:我为一家制作商业ORM的公司工作)。谷歌的ORM或对象关系映射器,或检查维基百科,概述我正在描述的事情。