使用指南 here ,我正在尝试记录我的 MVC Web 应用程序生成的 SQL。
该指南使用以下行:
context.Database.Log = Console.Write;
这显然不适用于 Web 应用程序。该指南描述了 Log 属性:
The DbContext.Database.Log property can be set to a delegate for any method that takes a string.
正是这个我不明白,代表们只是让我感到困惑。如何使用此 EF6 功能?
最佳答案
使用委托(delegate)允许您编写任何带字符串的函数。作为一个非常简单的文件日志记录,您可以执行以下操作:
context.Database.Log = message => File.AppendText("C:\\mylog.txt").WriteLine(message);
在 Web 环境中,您可能希望使用 Trace 来记录此信息:
context.Database.Log = message => Trace.WriteLine(message);
您可以在 MSDN page on Anonymous Functions 上查看更多使用委托(delegate)的示例。 .
关于entity-framework - 在 MVC Web 应用程序中使用 context.Database.Log,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19299038/