实体设计还是向以往一样,有统一的接口进行规范,其次为了实现复杂表关联查询,将为LINQ表原生类型设计一个派生类
将它的导航字段(外延字段)设计在原对象里,用_Extend结尾,为的是和LINQ自动生成的表关系字段相区分
查询时,通过类型的协变特性,使它返回父类类型
这时,对外返回的类型还是LINQ原生对象,而它的派生类型在这里只是起到了“欺骗.NET运行时”的作用,呵呵
本文转自博客园张占岭(仓储大叔)的博客,原文链接:谁说LINQ复杂查询不支持返回实名类型~定义实体有讲究,如需转载请自行联系原博主。