代码之家  ›  专栏  ›  技术社区  ›  Wim ten Brink

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

  •  7
  • Wim ten Brink  · 技术社区  · 15 年前

    基本上, this question 不同的是…

    是否可以使用实体框架从.net中的tsql存储过程捕获打印输出?

    另一个问题的解决办法对我不起作用。它与system.data.sqlclient中的连接类型一起工作,但我使用的是system.data.entityclient中的连接类型,它没有 InfoMessage 事件。(当然,我可以根据实体连接设置创建一个sql连接,但更喜欢直接创建。)

    2 回复  |  直到 15 年前
        1
  •  11
  •   Craig Stuntz    15 年前

    实际上,它是这样做的,但是由于ef不是特定于SQL Server的,因此必须强制转换它:

    var sqlConn = (SqlConnection)Context.Connection.StoreConnection;
    
        2
  •  8
  •   samneric    12 年前

    只是为了向人们展示一个完整的工作示例,从克雷格的回答和威姆的回应来看:

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

    史蒂夫

    推荐文章