处理datagrid中的约束异常

时间:2015-05-25 18:49:49

标签: c# wpf mvvm datagrid constraints

我正忙着为我的最新应用程序添加数据库(SQLite)支持。由于有些表有行引用其他表中的行,我认为开始使用外键约束可能是个好主意。稍后我进行了一些谷歌搜索,我可以将约束应用于一个表作为测试运行。

var c = workingDataSet.Tables["measurements"].Columns["reference_realestate"];
var p = workingDataSet.Tables["realestates"].Columns["id"];

ForeignKeyConstraint fkcon = new ForeignKeyConstraint(p, c);
fkcon.DeleteRule = Rule.None;                

workingDataSet.Tables["measurements"].Constraints.Add(fkcon);

如果我尝试删除“测量”中引用的“realestates”记录,则会产生以下异常:

'System.Data.dll中发生了'System.Data.InvalidConstraintException'类型的未处理异常 附加信息:无法删除此行,因为约束是在关系Constraint1上强制实施的,删除此行将链接子行。'

我现在的问题是在哪里以及如何处理此异常?在阅读了一些其他帖子后,我发现this指出我在DataGrid控件中处理异常。我尝试过使用RowValidationRules但它似乎也没有用。

<DataGrid.RowValidationRules>
    <local:RowValidation_Measurements ValidationStep="UpdatedValue"/>
</DataGrid.RowValidationRules>

我是如何实现这一目标的?哦,我必须提到我正在使用MVVM。

0 个答案:

没有答案