用WPF写一个小东西,EF连接数据库的字符串是写在app.config里的,明文。网上找了很久,倒是有加解密的文章。我觉得太复杂了。
事实上只要不显示明文就行了。
修改了EF的构造函数,在代码里对connectStrings赋值。明明是复制的原来工作正常的app.config中的connectstring,却总是出错,提示“不支持的关键字data source”。
搜了一圈也没解决。后来发现,问题出在 " 这个东西上,它是双引号。c#解析时出问题。
public static string GetEFDBConnection() { return @"metadata=res://*/DAL.xxxDB.csdl|res://*/DAL.xxxDB.ssdl|res://*/DAL.xxxDB.msl;provider=System.Data.SqlClient;provider connection string=""data source=xxx;initial catalog=xxx;persist security info=True;user id=xxx;password=xxx;MultipleActiveResultSets=True;App=EntityFramework"""; }
关键是在于 @" "中,把原来的" 改为 "" 即可。