我正在开发使用实体框架6的Web API。实体框架的连接字符串使用公司标准加密进行加密。 (sql server 2014)我可以解密连接字符串,但我一直无法弄清楚如何拦截DbContext来设置解密的连接字符串。 (在Web.config有一个加密的连接字符串之前,我能够很好地运行API,并且所有数据库调用都能正常工作)实体框架 - 数据库优先 - 拦截DbContext
下面的代码显示了我迄今为止如何绕过这个问题。我为我的上下文类创建了一个分类,因为Peliquin.Context.cs类是生成的代码。我解密连接字符串,正如我已经验证,看起来完全正确,然后将其传递到这个类。上面的代码是:基地(“NAME =则connectionName”)
错误消息仿佛的DbContext不能传递到它的实际连接字符串。但是,如果我传入连接名称,它会遇到连接字符串被加密的问题。
我已经搜索,并一直无法找到解决这个看似简单的问题。任何帮助,将不胜感激。
web.config中的连接字符串,之前我在运行时将其解密:
附注:本网站将部署到多个客户的网站,每一个都有自己的数据库证书。在安装程序将API和UI Web应用程序安装到服务器上时,会运行另一个应用程序,将web.config文件更新为正确的客户端数据库连接。整个过程是没有用户交互。如果任何人都可以想到更改web.config连接字符串的更好方法,然后加密它,所有这些都不需要人工交互,请随时为我提供替代解决方案。
您可以更新您的实际的连接字符串的问题?取代密码等。与其他一些文本,检查http://stackoverflow.com/questions/6997035/keyword-not-supported-data-source-initializing-entity-framework-context – Damith
构造函数的名称或连接字符串参数,如果你的解密工作正常,那么应该没有必要做一个部分类 – Shoe
我编辑了我的问题,并包括我的加密连接字符串。如果我将这个连接名称全部提及到DbContext,它会立即创建一个错误,因为它无法读取加密的连接。我试图将解密的连接字符串设置为DbContext,如果可能的话。 –