Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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
Asp.net log4Net-记录到位于单独项目中的实体框架数据库_Asp.net_Entity Framework_Model View Controller_Log4net - Fatal编程技术网

Asp.net log4Net-记录到位于单独项目中的实体框架数据库

Asp.net log4Net-记录到位于单独项目中的实体框架数据库,asp.net,entity-framework,model-view-controller,log4net,Asp.net,Entity Framework,Model View Controller,Log4net,我首先使用实体框架代码,并尝试让log4Net登录到我的SQL Server数据库。我将缓冲区大小值设置为1,并添加 log4net.Config.XmlConfigurator.Configure(); 到我的Global.asax文件 我还加了一句 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> 我没有收到任何错误

我首先使用实体框架代码,并尝试让log4Net登录到我的SQL Server数据库。我将缓冲区大小值设置为1,并添加

log4net.Config.XmlConfigurator.Configure(); 
到我的
Global.asax
文件

我还加了一句

<section name="log4net" 
         type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />  

我没有收到任何错误。不知道还能做什么。我已经尝试在我的项目的app.config中添加那些log4Net设置,这些设置可以处理所有实体框架内容,但没有成功。任何帮助都将不胜感激。谢谢

经过一番探索,我终于找到了答案。我的连接类型值为

<connectionType value="System.Data.EntityClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

而不是

<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />


请注意connectionType值。改变了这一点后,它起了作用。希望它能帮助别人

您必须使用委托设置context.Database.Log,以便从数据库中输出任何内容

如果仅使用一次nLog,例如:

    context.Database.Log = s=> LogManager.GetLogger("myLogger").Info(s);

不知道log4net会是什么样子,但它是类似的

谢谢你的帮助,eran。在您发布后几分钟,我就能够找到它,这是因为我的web.config中的connectionType值。
    context.Database.Log = s=> LogManager.GetLogger("myLogger").Info(s);