我的解决方案使用实体框架,我将 EF 模型转换为 DTO 对象以从 UI 层向上和向下传递。
但我有一个设计问题:我有一个 Person 表和一个PersonUnavailibility
表。一个人可能有一段时间不可用。
我的PersonDTO
对象具有 PersonEF 模型的所有属性以及一个List<PersonUnavailibilityDTO>
对象。所以,当我得到我的人时,我也得到了人的不可用时间。
但是,我应该PersonUnavailibilityDTO
有一个PersonDTO
对象吗?所以如果我得到一个PersonUnavailibilityDTO
对象,我可以看到它与哪个人有关?
如果是这样,我会得到一个循环引用。我的PersonUnavailibilityDTO's
Person 属性,有一个他所有的 PersonUnavailibility 行的列表......每个行都有一个PersonDTO
,每个都有一个......等等的列表。
这种事情的最佳设计是什么?只包含与父对象相关的子对象?
也就是说,只有PersonDTO
有一个 列表PersonUnavailibilityDTOs
,但PersonUnavailibilityDTO
没有PersonDTO
?