이 질문은 반복 될 수 있지만 좋은 해결책을 찾을 수 없습니다.Entity Framework 6.0 + 암호화 연결 문자열
우리의 프로젝트는 EF 6.0 & C# .NET을 사용하여 .NET 4.0 프로젝트가없이 잘 작동 2012
위 그리고 마지막으로 SQL 서버 대상. 그러나 EF 연결 문자열과이 문자열이 저장되는 방식에 대한 쿼리는 거의 없습니다.
- app.config에 저장된 암호화 된 연결 문자열을 읽는 방법을 EF의 context.cs 파일에서 읽으십시오.
암호화 된 연결 문자열을 읽으려면 다음 코드를 추가했지만 새로운 저장 프로 시저를 추가하지 않을 때까지만 작동합니다. 우리는 EF 모델에 새 저장 프로 시저 또는 함수를 추가하면
public MCMS_II_LogEntities() // : base("name=MCMS_II_LogEntities") //Original :base(GetConnectionString()) { } public static string GetConnectionString() { string connString = new System.Data.EntityClient.EntityConnectionStringBuilder { Metadata = "res://*", Provider = "System.Data.SqlClient", ProviderConnectionString = new System.Data.SqlClient.SqlConnectionStringBuilder { InitialCatalog = "<Catalog Name>", DataSource = ConfigurationManager.AppSettings["DataSourceAddress"].ToString(), IntegratedSecurity = false, MultipleActiveResultSets = true, UserID = "<LOGIN ID>", // User ID such as "sa" Password ="<PASSWORD>", // hide the password }.ConnectionString }.ConnectionString; return String.Format(connString); }
, 위의 추가 코딩이 제거됩니다.
쿼리
- 이를 달성 할 수있는 가장 좋은 방법은 무엇입니까?
- 이 문제를 해결하는 방법.
죄송합니다. 이해가 가지 않습니다. 무엇이 저장 프로 시저 및 함수의 역할입니까? –
@GertArnold 여기에는 SP 및 UDF의 특정 역할이 없습니다. 하지만 위의 코드를 추가 한 다음 EF의 라이브러리에 다른 새로운 SP 또는 UDF 세트를 포함하면 위의 코드 부분이 사라지고 다시 추가해야합니다. – aioracle
그런 다음 다른 곳에 넣으십시오. public static 메쏘드는 어느 곳에서나 채워질 수 있으며, 일부 정적 유틸리티 클래스에서 채워질 수 있습니다. –