gpt4 book ai didi

c# - 在 Entity Framework 中使用拦截器时如何禁用它们

转载 作者:太空宇宙 更新时间:2023-11-03 10:31:26 24 4
gpt4 key购买 nike

我正在使用 Entity Framework 6.1.3,并且刚刚实现了一个拦截器,以便在本地开发时可以查看生成的 SQL。当我将站点发布到 LIVE 环境时,禁用此拦截器的正确方法是什么?我目前在发布时通过 Web 部署使用 Web Config Transform,我只是想确保该站点不会尝试写入不存在的文件。

我是从这篇文章开始的:https://msdn.microsoft.com/en-us/data/jj556606.aspx#Interceptors

这是我的配置部分:

   <interceptors>
<interceptor type="System.Data.Entity.Infrastructure.Interception.DatabaseLogger, EntityFramework">
<parameters>
<parameter value="C:\Temp\LogOutput.txt"/>
<parameter value="true" type="System.Boolean"/>
</parameters>
</interceptor>

最佳答案

为了您的目的,您不需要编写拦截器。您可以在 C# 代码中进行以下设置:

#if DEBUG
context.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);
#endif

在此之后,当您调试所有生成的 sql 时,将在输出中列出。您可以轻松修改它以将其也列在文件中。

关于c# - 在 Entity Framework 中使用拦截器时如何禁用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30009726/

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