关于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.
------解决方案--------------------沙发,帮忙顶