DELTE上的SQL Server外键抛出自定义消息

DELTE上的SQL Server外键抛出自定义消息,sql,sql-server-2012,entity-framework-6,Sql,Sql Server 2012,Entity Framework 6,尝试删除违反外键的实体时,是否可以在SQL Server中引发自定义消息?我使用EntityFramework 6,我希望由sql server引发一个自定义的SqlException,以便更好地指定错误。今天,EntityFramework引发了由sql server引起的异常,我不想解析常规sql异常消息来指定此类问题。 这是一个例外: System.Exception: An error occurred while updating the entries. See the in

尝试删除违反外键的实体时,是否可以在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”来处理此问题?

在SQL Server中更改此行为会有点奇怪。您可以在.Net/Entity Framework中简单地解决这个问题。只要看看这篇文章就能克服它:
在SQL Server中更改此行为会有点奇怪。您可以在.Net/Entity Framework中简单地解决这个问题。只要看看这篇文章就能克服它: