这里为1,2,4是方便后来的位运算。并没有其他的特殊设置。 这样,最基本的模型确定了。紧跟着需要做的,就是设计各个class中的property一系列的属性了。如图 [图片]
这是gameno的属性设置。这里它被设成主键。还有,它在clr中的type为int,在server端的data type 为int not null identity。也就是int的自增型。在这里,其他的都好设置,唯独Server Data Type需要设计者对数据库和dbml格式特别熟悉。这也是为什么笔者一直带着大家熟悉dbml。把各个类中的字段的属性设置后,下一步就是建立关系了。
这个模型也很容易懂。一个user在不同时间可以加入不同的game,一个game可以拥有多个user。那这样,正好用player这个实体类将他们联系起来。就是一个user在不同时间,可以扮演不同角色,一个game可以拥有多个角色。那针对player中的roleid这个字段,它只有三个值,又该如何在数据库中体现它呢?大家都知道,数据库中,对于枚举型的,也只有把它们存在一个特殊的表里。然后,把这个表用相关的字段和另一个表的相关字段建里关系就可以了。这样,又从RoleFlag抽像出一个叫Role实体类来。用如下的功能建立关系,右击game类,选择add->Association, [图片]
这里把各个实体的关系建立起来。选择合适的字段。需要注意的是,别把parent和child搞反了。这样,整个模型如下: [图片]