在.NET中捕获存储过程打印输出(不同型号!)

基本上, 这个问题有所不同……

是否可以使用entity framework从.NET中的TSQL存储过程捕获打印输出?

另一个问题的解决方案对我不起作用。 它适用于System.Data.SqlClient中的连接类型,但我使用System.Data.EntityClient中没有InfoMessage事件的连接类型。 (当然,我可以根据实体连接设置创建一个SQL连接,但更喜欢直接这样做。)

实际上,它确实如此,但由于EF不是SQL Server特定的,你必须强制转换它:

var sqlConn = (SqlConnection)Context.Connection.StoreConnection; 

只是为了向人们展示一个完整的工作实例,来自Craig的回答和Wim的回答:

 var entityConnection = (EntityConnection)Context.Connection; var sqlConnection = (SqlConnection)entityConnecion.StoreConnection; sqlConnection.InfoMessage += (s,a) => Debug.WriteLine(a.Message); 

史蒂夫