日期:2014-05-20  浏览次数:20725 次

关于dataTable的外键约束的一个问题?居然没有异常抛出?
我想测试一下dataTable的外键约束:
写了如下代码:
ForeignKeyConstraint   fkc   =   new   ForeignKeyConstraint(ParentDt.Columns[ "id "],   dt.Columns[ "id "]);   //设置外键,ParentDt为主表,dt外子表。对列id的约                  
fkc.UpdateRule   =   Rule.SetNull;
dt.Constraints.Add(fkc);
  ParentDt.PrimaryKey   =   new   DataColumn[]   {   ParentDt.Columns[ "id "]   };   设置父表id列为主键
  ParentDt.Rows[1][0]   =   20;   //   修改父表的值。子表相应列的值自动修改为null

这段代码被执行,没有任何问题。

      请问:按照外键的约束规则。子表有的值在父表也必须存在。但我已经为父表相关列设置为主键。       为什么没有异常抛出??
        ps:当我连续修改主表两行时才会有异常抛出,说主表违反unique   constriant.




------解决方案--------------------
沙发,帮忙顶