c# - 记录 Entity Framework 存储过程调用和参数

标签 c# entity-framework stored-procedures logging

我一直在尝试寻找一些代码来执行以下操作,但似乎无法找到正确的谷歌条款。 W

我们有通过 Entity Framework 6.0+ 调用存储过程的代码。理想情况下,我们希望记录(例如控制台)调用及其参数(我们有与旧 ADO.net 方法类似的代码)

using (myContext ctx = new Context())
{
   // the .Log() is just a way I'm imagining logging the call.
   ctx.Log().CallMyStoredProcedure(param1, param2, param3);
}

我希望看到的是以下内容

  • 使用以下参数调用了存储过程 CallMyStoredProcedure - @Parameter1 = param1,@Parameter2 = param2,@Parameter3 = param3

有什么想法吗?

最佳答案

从 Entity Framework 6 开始,您可以在代码中拦截数据库调用,这样您就可以执行任何可能需要的日志记录。

有关详细信息,请参阅此处 http://msdn.microsoft.com/en-gb/data/dn469464.aspx

关于c# - 记录 Entity Framework 存储过程调用和参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27946208/

相关文章:

c# - 如何将 Azure Function HttpRequest 正文转换为对象

c# - 在 MySQL 参数中使用 OR 语句

asp.net-mvc - asp.net mvc 4 - 可以为每个线程共享 DbContext 吗?

mysql - 在尝试在 MySQL 中创建存储过程之前如何检查它是否存在?

c# - 反射参数名称 : abuse of C# lambda expressions or syntax brilliance?

entity-framework - Entity Framework 代码优先 - 逆向工程师

c# - 通过两个属性从 IQueryable 中排除复杂对象列表

c# - 具有 linq 数据上下文的存储过程返回值

sql-server - 在 MS SQL Server 的存储过程中使用 xQuery 时插入 XML 之外的值

c# - 使用 LINQ 我有一个列表列表,如何选择每个列表中存在的所有对象?