Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#NLog-关于日志文件中参数的原始Sql问题_C#_Entity Framework_Entity Framework Core_Nlog_Loggerfactory - Fatal编程技术网

c#NLog-关于日志文件中参数的原始Sql问题

c#NLog-关于日志文件中参数的原始Sql问题,c#,entity-framework,entity-framework-core,nlog,loggerfactory,C#,Entity Framework,Entity Framework Core,Nlog,Loggerfactory,我一直在一个系统中玩NLog和loggerfactory,能够查看调用EF操作时发生的情况 通过在上下文的onconfigurang类中传入一些optionBuilder扩展方法,它可以正常工作,并按照预期将一些rawSql输出到日志文件中 例如,输出示例: 11:41:13.501|DEBUGGING ENABLED|Executing DbCommand [Parameters=[:__Id_0='SomeId' (DbType = AnsiString)], CommandType='Te

我一直在一个系统中玩NLog和loggerfactory,能够查看调用EF操作时发生的情况

通过在上下文的onconfigurang类中传入一些optionBuilder扩展方法,它可以正常工作,并按照预期将一些rawSql输出到日志文件中

例如,输出示例:

11:41:13.501|DEBUGGING ENABLED|Executing DbCommand [Parameters=[:__Id_0='SomeId' (DbType = AnsiString)], CommandType='Text', CommandTimeout='30']
SELECT "u"."USERID", "u"."PROGRAM", "u"."VALUE"
FROM "someTable" AS "u"
WHERE ("u"."USERID" = :__Id_0) ||Microsoft.EntityFrameworkCore.Database.Command|parameters=:__Id_0='SomeId' (DbType = AnsiString), commandType=Text, commandTimeout=30, newLine=
, commandText=SELECT "u"."USERID", "u"."PROGRAM", "u"."VALUE"
FROM "someTable" AS "u"
WHERE ("u"."USERID" = :__Id_0), EventId_Id=20100, EventId_Name=Microsoft.EntityFrameworkCore.Database.Command.CommandExecuting, EventId=Microsoft.EntityFrameworkCore.Database.Command.CommandExecuting|
现在,我们要记录的一些查询可能会变得非常复杂,带有许多参数。有时,我会将这个文件复制并粘贴出SQL,然后在外部运行它。问题是必须将parameters=数组中的参数复制到每个字段中的where子句中

是否有办法将日志配置为输出参数值并将其填充到查询本身中?在这个简单的例子中,我看到的不是“u”“USERID”“SomeId”的位置,而是“u”“USERID”“SomeId”。我已经仔细阅读了NLog文档,但没有找到我要查找的具体内容

有些查询有许多参数,如果可能的话,这只是一个简单的修复程序,可以加快调试速度