Sql server 使用实体框架的SSIS和dll
我有一个.net dll,其中包含要在SSIS包中重复使用的业务逻辑。dll使用实体框架作为其数据访问层。我找到了一种在运行时()加载DLL的方法,但我不断收到错误,这些错误归结为没有有效的连接字符串。通常在我们的EF应用程序中,连接字符串位于app.config文件中,EF会自动加载它。但是,我找不到将配置文件添加到SSIS包的方法。有人知道我可以如何添加配置文件或设置连接字符串,以便基于EF的dll可以使用它吗Sql server 使用实体框架的SSIS和dll,sql-server,entity-framework,dll,ssis,connection-string,Sql Server,Entity Framework,Dll,Ssis,Connection String,我有一个.net dll,其中包含要在SSIS包中重复使用的业务逻辑。dll使用实体框架作为其数据访问层。我找到了一种在运行时()加载DLL的方法,但我不断收到错误,这些错误归结为没有有效的连接字符串。通常在我们的EF应用程序中,连接字符串位于app.config文件中,EF会自动加载它。但是,我找不到将配置文件添加到SSIS包的方法。有人知道我可以如何添加配置文件或设置连接字符串,以便基于EF的dll可以使用它吗 我使用的是VS 2012、SQL Server 2012、EF 6.0和.Net
我使用的是VS 2012、SQL Server 2012、EF 6.0和.Net Framework 4.52。似乎有两种方法可以将连接字符串加载到从SSIS包调用的dll中:
string connectionString = GetConnectionStringFromExternalSource();
MyContext myDb = new MyContext(connectionString);
当然,要做到这一点,您必须能够更改dll的数据层,使其既可以与普通的.NET应用程序一起工作,也可以与外部为SSIS包提供的连接字符串一起工作 你检查过了吗?谢谢-这很有效。似乎有点奇怪,我需要将所有特定于包的设置放在一个通用dtshost.exe.config文件中,但当我将实体框架连接字符串放在其中时,它确实起作用。