在使用EntityFramework中遇到了一些问题,虽然这些问题已经解决,可自己对它们还是不太知其然,更不用说知其所以然了,暂把它们记录下来,一为自己作备份,二为遇到相同问题的朋友们提供一丝线索吧。
其一:在所谓的面向对象编程中,类与类之间都有一些对应关系如:一对一,一对多,多对多等。首长假设有A表、B表、AB表(A表和B表的一个关联表,其中是这两个表的主键作其字段)在一对一或一对多关系在EF中容易添加,只是在一张表中有另外一个表的外键就可以了,而且这个关系在EF添加时也很容易就显示出来,一般不会出现什么错误,可是多对多关系就不同了,在此,再作一个声明,在EF中如果AB表中除A、B两表的主键外再无其它字段,在EF的图示中只是会以多对多的关系来表示,而不会出现AB表,反之,如果AB表中还有队主键外的其它字段,则AB表就会以实体的形式表现出来。这次我遇到的问题就是这个AB表,而且还浪费我好长时间,后来发现AB表中这两个外键是允许为空,而其它可以显示出来的多对多关系中是不允许为空,于是把这个是否允许为空的对勾去掉,即不允许为空后这个关系竟然加上了(这点不同是同事找出来的,当时我都无语了。。),哎,恶搞呀。