记录实体框架存储过程调用和参数

Posted

技术标签:

【中文标题】记录实体框架存储过程调用和参数【英文标题】:Logging Entity Framework stored procedure calls and parameters 【发布时间】:2015-01-14 15:14:55 【问题描述】:

我一直在尝试找到一些代码来执行以下操作,但似乎无法找到正确的谷歌条款。 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

有什么想法吗?

【问题讨论】:

这样的? msdn.microsoft.com/en-gb/data/dn469464.aspx 哇,谢谢,这正是我想要的。我给了它一个测试,它就像一个魅力。把它作为答案发布,我会给你积分。 【参考方案1】:

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

详情请见http://msdn.microsoft.com/en-gb/data/dn469464.aspx

【讨论】:

你能详细说明如何做到这一点吗?拥有更具描述性的答案将使用户更好地了解您的答案如何帮助遇到相同问题的人。

以上是关于记录实体框架存储过程调用和参数的主要内容,如果未能解决你的问题,请参考以下文章

存储过程参数名称和实体框架

使用实体框架获取存储过程输出参数抛出映射错误:数据读取器与指定的不兼容

存储过程和实体框架的性能

在实体框架中使用存储过程

使用实体框架从存储过程中获取数据时的参数问题

如何在实体框架中调用带有联接的存储过程?