我使用visual studio 2010创建了一个ASP.NET动态数据实体Web应用程序项目。 我添加了一个连接到sql Server数据库的ADO.NET实体数据模型。
该应用程序运行正常。
我想在删除表中具有作为另一个表的外键的列的行时处理异常。
例外是:
DELETE语句与REFERENCE约束“FK_name”冲突。冲突 发生在数据库“NAME”,表“dbo.dbname”,列“Column_name”。
我想要做的是显示一条用户友好的消息,说明在删除其他表中的其他行之前无法进行操作。
我做了一步一步的调试,但我无法找到应用程序在数据库请求中的位置,因此我可以自定义代码。
感谢。
答案 0 :(得分:1)
我做了一些研究,我找到了两个选择:
- 我可以使用gridview属性OnRowDeleting
直接处理删除。这意味着很多实体操纵
- 我可以处理实体框架SavingChanges并检查EntityState.Deleted
上的实体,然后检查实体导航属性并在必要时抛出显式消息。这与自定义验证错误一起使用,以显示用户友好的消息。