我有一个DLL,它是我们在许多不同项目中使用的日志记录组件。此日志记录组件设计为完全自包含,因此必须在其内部具有其数据库连接字符串。在这个项目中,要求将其连接字符串复制到使用它的任何项目的app.config是完全不可接受的。
这种方法已经运行了很多年,但现在我们发现将旧的ADO技术与使用EF的新应用程序混合会在日志记录完成时导致可怕的性能。例如,在应用程序启动时添加单个日志条目会导致>应用程序打开前30秒延迟。
为了解决这个问题,我已经重新编写了这个组件以使用EF。
问题出现在当前的EF(版本4.4,因为我们的目标.Net Framework 4.0)不提供DBContext的构造函数,允许您指定整个连接字符串。代码尝试更改Database.Connection.ConnectionString,但DBContext对象仍坚持在App.Config中查找连接字符串,即使我们给它一个新的。
我必须解决这个问题。