现在是这种情况:
管理员表指定了一个外键,关联了会员表我想会员表独立,就是会员表能删除。现在管理员删除是没有问题的。
但是会员表不能删除
删除就报错存在外键约束。

解决方案 »

  1.   

    外键就是为了保证一定的关联,你如果是一对一,其实没必要做外键,直接在两表中弄个唯一约束,然后在程序逻辑中确保关联性,这种方法可以避免外键带来的影响,但是失去了sqlserver为你提供的保障。还有第三钟方法:级联删除
      

  2.   

    我的文章里面有例子:如果外键必须保留,那级联删除是最好的方案
    http://blog.csdn.net/dba_huangzj/article/details/8042999
      

  3.   

    现在我是这样设计的。      管理员为从表, 会员表是主表。     外键关系约束,我设置为  Delete的时候设置NULL,这样删除管理员的时候会员不受影响,删除会员的时候,只是管理员的会员字段设置为null。我要的效果就是这样。
    现在不知道怎么写EF的映射。
      

  4.   

    我觉得会员应该是用户中的一个“标识”,应该还有一个列,用来存放是否删除,当删除会员时,直接把这个列设为null或者其他标识,查询的时候where条件加上这个标识来过滤,这样就能保证数据没有被真正删除。至于管理员,如果用户不能直接提升到管理员的角色,那应该独立一个表,但是这个表应该和用户没有什么关系的吧?如果可以提升为管理员,那其实在一开始那个“标识”那里做点手脚,或者加一个角色表
      

  5.   

    关系表确定下来了,也不能该了,现在关键是实现上。
    我想知道怎么用   flunt api    设置 外键规则的 删除规则 设置为“设置成null”.
    我开的这个帖子:http://bbs.csdn.net/topics/390612607?page=1#post-395767371
      

  6.   

    如果不能硬性删除,那只能取消外键约束的定义,通过SQL代码来控制逻辑