|
实体继承的定义 Linq to sql支持实体的单表继承,也就是基类和派生类都存储在一个表中。对于论坛来说,帖子有两种, 一种是主题贴,一种是回复帖。那么,我们就先定义帖子基类:
这些实体的定义大家应该很熟悉了。下面,我们再来定义两个实体继承帖子基类,分别是主题贴和回复贴:
对于主题贴,在数据库中的TopicType就保存为0,而对于回复贴就保存为1。 回复贴还有一个相关字段就是回复所属主题贴的TopicID。那么,我们怎么告知Linq to sql在TopicType 为0的时候识别为NewTopic,而1则识别为Reply那?只需稍微修改一下前面的Topic实体定义:
为类加了InheritanceMapping特性定义,0的时候类型就是NewTopic,1的时候就是Reply。 并且为TopicType字段上的特性中加了IsDiscriminator = true,告知Linq to sql这个字段就是用于分类的字段。 |
相关文章: