EF连接字符串加密及封装

大致两种方案

因为EF自动生成的 DbContext 类 【手动更改此文件可能导致应用程序出现意外的行为。如果重新生成代码,将覆盖对此文件的手动更改。】所以不能对原生类进行更改,那么就有两种方案

方案1: 通过 partial 关键字的特性重写构造函数,并封装加密类(外加封装dll加密混淆哦),安全性极高。参考博客【 EF连接字符串加密及封装

方案2: 修改T4生成规则。参考博客 【EF数据库连接字符串加密

注意事项

不管用什么算法加密字符串,都需要把需要加密的串中 &quot 更改为单引号!!
比如

metadata=res://*/Models.AbxPlatform.csdl|res://*/Models.AbxPlatform.ssdl|res://*/Models.AbxPlatform.msl;provider=System.Data.SqlClient;provider connection string="datasource=.;initial catalog=AbxPlatform;persist security info=True;user id=sa;password=123456;MultipleActiveResultSets=True;App=EntityFramework"

更改为

metadata=res://*/Models.AbxPlatform.csdl|res://*/Models.AbxPlatform.ssdl|res://*/Models.AbxPlatform.msl;provider=System.Data.SqlClient;provider connection string=';data source=.;initial catalog=AbxPlatform;persist security info=True;user id=sa;password=123456;MultipleActiveResultSets=True;App=EntityFramework';
原文地址:https://www.cnblogs.com/setsuna-cn/p/13995234.html