2012-01-11 83 views
5

我正在使用实体框架和存储过程来插入/更新/删除实体。SQL Server - 报告错误返回到.NET

,我做的任务是库存管理与FIFO/LIFO方法=>那些插入/更新/删除执行几项检查,并可能会失败(有时会失败)。

的问题是我要汇报到.NET什么地方出了错,为什么。我该怎么做?

目前我使用这样的事情:

BEGIN --rollback 
ROLLBACK TRAN 
RAISERROR (N'There''s not enough items in stock.', -- message 
    16, -- severity 
    1) -- state 
END; 

我总是得到“MSDTC错误” - “基础提供失败的EnlistTransaction。”

回答

0

您必须检查的InnerException让你提出的自定义错误。

+0

我已经完成了这个,InnerException为null。 – kubal5003 2012-01-11 12:16:14

1

我不认为到目前为止,它越来越。当其中一个事务启动时,您的自定义错误没有得到提升,这是错误的。

+0

可能是这种情况。问题是,如果一切正常,那么事务提交很好 - >我的错误处理会导致某些事情中断。我猜想SP中的执行流程不会中断,当它到达COMMIT时,所有事件都会中断(因为事务已经回滚)。实体框架报告最后一个错误 - >它不是我的.. – kubal5003 2012-01-16 11:16:36