使用Entity Framework和WCF Ria Services开发SilverLight之4:Map之主外键映射

上一篇粗粗讲了一下如何使用EF4.1,针对POCO进行MAP,此篇在此基础上进行一下深入,具体讲一下如何进行映射。

 

1:主外键中的1对多映射

还是针对School数据库。查看如下两个表:

使用Entity Framework和WCF Ria Services开发SilverLight之4:Map之主外键映射

可以知道,两者的关系是:

使用Entity Framework和WCF Ria Services开发SilverLight之4:Map之主外键映射

也就是说,Department对于Course来说,是1对多的关系。数据库中实际的数据如下:

使用Entity Framework和WCF Ria Services开发SilverLight之4:Map之主外键映射

1.1:对应的实体类

Department实体类(关系中的1):

使用Entity Framework和WCF Ria Services开发SilverLight之4:Map之主外键映射

Course实体类(关系中的多):

使用Entity Framework和WCF Ria Services开发SilverLight之4:Map之主外键映射

1.2:对应的映射类

DepartmentMap映射类,对于Department来说,无需针对Course的特殊说明:

使用Entity Framework和WCF Ria Services开发SilverLight之4:Map之主外键映射

CourseMap映射类,对于Course来说,需要对Department指出,自己是多,Department是1:

使用Entity Framework和WCF Ria Services开发SilverLight之4:Map之主外键映射

2:主外键中的1对1映射

使用Entity Framework和WCF Ria Services开发SilverLight之4:Map之主外键映射

对应的数据:

使用Entity Framework和WCF Ria Services开发SilverLight之4:Map之主外键映射

可见,Course实体对于OnlineCourse来说,是一对一中的left join关系。

2.1:对应的实体类

Course实体类:

使用Entity Framework和WCF Ria Services开发SilverLight之4:Map之主外键映射

OnlineCourse实体类:

使用Entity Framework和WCF Ria Services开发SilverLight之4:Map之主外键映射

从以上两个实体类来看,这种一对一的主外键关系,并没有任何的特殊之处。

2.2:对应的映射类

CourseMap映射类我们在1.2中已经展示过了,并无针对OnlineCourse的特殊之处。

OnlineCourseMap映射类:

使用Entity Framework和WCF Ria Services开发SilverLight之4:Map之主外键映射

使用Entity Framework和WCF Ria Services开发SilverLight之4:Map之主外键映射本文基于Creative Commons Attribution 2.5 China Mainland License发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名http://www.cnblogs.com/luminji(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言。
上一篇:使用 CInternetSession 封装多线程 http 文件下载


下一篇:android setClickable 不起作用 没…