gpt4 book ai didi

c# - NLog - 将 NULL 写入可选的数据库列

转载 作者:太空狗 更新时间:2023-10-29 17:34:34 25 4
gpt4 key购买 nike

我正在使用 NLog用于登录 ASP.Net 应用程序并通过 Microsoft Sql Server 使用数据库目标。

我有一些日志记录参数是可选的,并不总是指定的。我希望在未提供时将它们写为 null,但是 NLog似乎总是把它们写成空字符串。

有没有办法配置它默认写null?

引用:https://github.com/nlog/NLog/wiki/Database-target

最佳答案

这是一个老问题,但由于给出的解决方案有点“hacky”,我想给出我自己的解决方案,我认为它比 db 过程更容易实现,也更优雅使用案例。

您可以尝试使用 NULLIF 函数来编写 NULL,该函数比较 2 个表达式并在它们相等时返回 NULL,否则返回第一个表达式 (msdn NULLIF page)。

这样,您的 NLog 配置文件中的 commandText 将如下所示:

INSERT INTO [dbo].[log] ([message], [optional]) 
VALUES (@message, NULLIF(@optional, ''))

关于c# - NLog - 将 NULL 写入可选的数据库列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4831560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com