为什么DataContext.Connection.ConnectionString无法获取密码

Sca*_*ace 2 .net linq linq-to-sql

class Program
{
    private const string Sqlconnstr = "Data Source=.;Initial Catalog = LINQtoSQL;UID = Scarface;PWD = kaka1983513!;";

    static void Main(string[] args)
    {
        var dataContext = new DataContext(Sqlconnstr);
        var books = dataContext.GetTable<Book>();
        var query = from book in books
                    select book;
        var list = query.ToList();  //If i uncomment this line,i can't get the full string without 'PWD = 123456'.
        Console.WriteLine(dataContext.Connection.ConnectionString);

        Console.ReadLine();
    }
}
Run Code Online (Sandbox Code Playgroud)

如何使用'PWD = 123456'after query.ToList()命令获取完整字符串.

Dam*_*ver 5

我不确定为什么你需要重新读取连接信息,但我认为你正在的是PersistSecurityInfo:

如果设置为false或no(强烈建议),则在连接处于打开状态或处于打开状态时,安全性敏感信息(如密码)不会作为连接的一部分返回.重置连接字符串会重置所有连接字符串值,包括密码.可识别的值为,假的,是的,和没有.

此连接字符串参数的默认值为false.