是否有用于冒泡ID更改的.NET DataSet约束?

时间:2014-04-17 07:32:06

标签: c# datatable foreign-keys

我想做什么

我想交叉引用.NET4.0 DataTable的索引列。我的用例是我有一个使用临时主键的数据表。这些键在其他表中引用。这是一个例子:

     Reference Table with temporary ids
     ╔════╦════════════╗
     ║ id ║ Name       ║
     ╠════╬════════════╣
     ║ -1 ║ Blubb      ║
     ║ -3 ║ Bla        ║
     ║ -7 ║ Plisch     ║
     ╚════╩════════════╝
       ^
╔════╦════════╦═════════════╗
║ id ║ ref_id ║ Name        ║
╠════╬════════╬═════════════╣
║  1 ║ -1     ║ Refs Blubb  ║
║  2 ║ -3     ║ Refs Bla    ║
║  3 ║ -7     ║ Refs Plisch ║
╚════╩════════╩═════════════╝

我希望能够仅在这一个表中将引用表的临时ID更改为真正的数据库ID,并让其他ID自动更改。因此,在更改参考表中的一个id之后,它应该如下所示。

     Reference Table with one valid and two temporary ids
     ╔════╦════════════╗
     ║ id ║ Name       ║
     ╠════╬════════════╣
     ║ 42 ║ Blubb      ║ <- -1 changed to 42 (bubbles up to depending tables)
     ║ -3 ║ Bla        ║
     ║ -7 ║ Plisch     ║
     ╚════╩════════════╝
       ^
╔════╦════════╦═════════════╗
║ id ║ ref_id ║ Name        ║
╠════╬════════╬═════════════╣
║  1 ║ 42     ║ Refs Blubb  ║
║  2 ║ -3     ║ Refs Bla    ║
║  3 ║ -7     ║ Refs Plisch ║
╚════╩════════╩═════════════╝

我知道如何手动执行此操作但是可能有一种方法可以将此行为放入数据集约束中,因此我不必再次发明轮子了: - )

任何帮助将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:0)

我现在正在关闭它,似乎没有内置在框架中的东西。