2013-04-26 39 views
0

我做了一个名为Crypto的类来加密en解密连接字符串。这门课完美运作。解密与实体框架的连接字符串

的想法是让加密的ConnectionString在配置文件中:

<add name="MyConnString" connectionString="KsY+XWC0GnsepTlVu0Z3BU4r0hCAfgrCl/gbqlasndFmCjq0iiTNC7r0JySqm4BtSnSktE20EfDe9F3cDZTaQqwUgmdQTrxBc8cp5HhC9G6PEyzXIVzy2HMyOIH45yTQ9j70uMPV7TUazlnvzRDYnrKJwpgHNQehjMovgkWKCfZji1kQNVN7/61yvdrv+d6KpQKU5Al5W2QKkI7wxYzvJ4vMwH6XoCk1RnulKFKvaMExWtjQTh4XOy2Wo4M9UHKM/FuhjrsxsBg4JgcUcPGfrJZortFmmeDYt7D7QP6/I9HlIrmR4K42/hKSb/ZGiDV9szK6A/V1u9p5qctqFCui7Dx0AKkvUqFIWOWQHtvivV0R/PW8+R1bxsNkr6wUK6A5uPyghJmP4Qv0VI3vW8z0Tw==" providerName="System.Data.EntityClient" /> 

问题出在哪里?如何解密(解密方法的工作) 我试过做这些调整ConnectionString中在EDMX文件中的设计类:

public partial class KlantenBITEntities : ObjectContext 
    { 
     public static string DecryptedConnectionString 
     { 
      get { return Crypto.DecryptFromBase64String(ConfigurationManager.ConnectionStrings["MyConnString"].ToString()); } 
     } 

并在构造函数我试图通过解密的ConnectionString:

public KlantenBITEntities(): base(DecryptedConnectionString,"KlantenBITEntities") 
     { 

      this.ContextOptions.LazyLoadingEnabled = true; 
      OnContextCreated(); 
     } 

如果我这个我得到这个错误: 关键字不支持:我已经加密了整个实体框架的ConnectionString“数据源”

(与csdl-,ssdl-,MSL文件等。)这可能是原因吗?

任何帮助找到一个正确的方法来解密实体框架连接字符串非常赞赏。

回答

相关问题