当尝试删除违反外键的实体时,是否可以在SQL Server中引发自定义消息?我使用EntityFramework 6,并且希望由sql server引发一个自定义SqlException
,以更好地指定错误。今天,EntityFramework
引发了由sql server引起的异常,我不想解析一般的sql异常消息来指定此类问题。
例外:
System.Exception: An error occurred while updating the entries. See the inner exception for details. ---> System.Data.SqlClient.SqlException: The MERGE statement conflicted with the REFERENCE constraint "FK_My_ForeignKey"....
我考虑这样的事情:
...
CONSTRAINT [FK_My_ForeignKey] FOREIGN KEY([Code]) REFERENCES [dbo].[MyTable] ([Code]) ON DELETE No Action AND RAISEERROR('MyCustomFKViolationError')
...
还是有更好的方法通过“ EntityFramework”来处理此问题?
答案 0 :(得分:2)
在SQL Server中更改此行为会有些奇怪。您可以简单地在.Net / Entity Framework中解决此问题。只需看一下这篇文章即可克服它: https://stackoverflow.com/a/2403361/1666800