我有一个C#类库,我让COM可见,所以我也可以用Visual Studio 6编写的遗留应用程序调用它。这个库中有一个实体框架,用于向数据库添加记录。通过COM调用库可以正常工作,但记录不会添加到数据库中。我决定调试它的最简单方法是将C#WinForms测试应用程序添加到库解决方案中。这是我注意到实体框架在这里失败的地方。事实证明这是由于库中的app.config连接字符串也需要成为测试应用程序的一部分。这很好,这样做意味着WinForms应用程序正常工作,并将记录添加到数据库中。
但是,如何通过旧版应用程序的COM调用来解决这个问题呢?显然他们没有app.config。
答案 0 :(得分:0)
您是否尝试将app.config放在COM exe文件附近? 如果这不起作用,那么您的库不能使用app.config中的默认连接字符串。相反它应该:
无论哪种方式,您都必须手动将获取的连接字符串提供给Entity Framework。快速搜索显示有一个EntityConnection构造函数接受连接字符串作为参数,也许它适合您。