0
我在App.config
文件中定義了ConnectionString
,我檢查選項是否不包含敏感數據,以便密碼從連接字符串中排除。在應用程序代碼中我使用實體框架和我訪問DB這樣的:如何以編程方式將密碼分配給ConnectionString
using (var db = new Entities())
{
List<DATA> d = db.DATA.ToList();
}
我想通過數據庫的密碼驗證用戶 - 用戶輸入其應用程序啓動時。 問題是,如何在代碼中手動處理ConnectionString
時將此密碼添加到連接字符串中?
我的父親是這樣的:
ConnectionStringSettings conn = ConfigurationManager.ConnectionStrings["Entities"];
EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder(conn.ConnectionString);
SqlConnectionStringBuilder sqlBuilder = new SqlConnectionStringBuilder(entityBuilder.ProviderConnectionString);
sqlBuilder.Password = "pwd";
entityBuilder.ProviderConnectionString = sqlBuilder.ToString();
ConnectionStringSettings newConn = new ConnectionStringSettings("Entities",entityBuilder.ConnectionString);
但是,這仍然無法正常工作,我不能assing新的連接字符串ConfigurationManager.ConnectionStrings
- 它說,這是隻讀值。如何克服這一點?
感謝。我原本也這麼想,但是被框架生成的實體類沒有提供任何這樣的構造函數,現在我看到有一個基底DbContext類提供了一個被掩蓋的事實,這讓我感到困惑。任何想法爲什麼這可能是? – sherpa 2011-06-08 13:22:21
那麼,我的派生類有這些構造函數,所以我不知道爲什麼你沒有看到它們。 – 2011-06-08 13:27:43