我有一个对象图:
学校 - >类 - >学生
我希望以一种可以将学校课程发送回客户端的方式进行设置,并且可以以懒惰的方式访问课程和学生。
可能吗?
答案 0 :(得分:4)
简而言之:不。
你可以:
classes
和students
与您的school
实体)(“急切加载”)或:
List<Class> GetClassesForSchool(int schoolId)
,List<Student> GetStudentsForClass(int classId)
)只有在您的实体框架对象上下文仍然需要查询更多数据时,延迟加载本身才有效 - 当您使用WCF通过线路发送实体时,情况肯定不是这样。
答案 1 :(得分:1)
我不这么认为,因为你的实体穿越不同的层,如果没有来自任何其他层的干预,将无法访问具有数据库连接的实体。
您需要定制自己的解决方案才能做到这一点,或者只使用数据传输对象,这些对象将拥有正确的信息,也不会对某些视图无用。
更新: 如果您想了解有关DTO模式的更多信息,请阅读本文: