C# 连接字符串格式和SQL Server登录错误

C# 连接字符串格式和SQL Server登录错误,c#,connection-string,code-first,sql-server-2012-express,C#,Connection String,Code First,Sql Server 2012 Express,这是我使用SQL Server 2012 Express的第一个“代码优先”方法 我正在尝试创建数据库,但连接字符串有问题 这是我的连接字符串: Data Source=AMBROGIO\SQLEXPRESS;Initial Catalog=TAP2014_15Project;Integrated Security=True; 这是到达我的设置函数的连接字符串: Data Source=AMBROGIO\\SQLEXPRESS;Initial Catalog=TAP2014_15Project

这是我使用SQL Server 2012 Express的第一个“代码优先”方法

我正在尝试创建数据库,但连接字符串有问题

这是我的连接字符串:

Data Source=AMBROGIO\SQLEXPRESS;Initial Catalog=TAP2014_15Project;Integrated Security=True;
这是到达我的设置函数的连接字符串:

Data Source=AMBROGIO\\SQLEXPRESS;Initial Catalog=TAP2014_15Project;Integrated Security=True;
在我的电脑名称后加上一个双
\

对于一个测试,我试着写一些其他的东西作为连接字符串,在调试过程中,它没有修改就到达了(显然它会引发一个错误)

有人能帮我吗

谢谢

菲利波


嗨,对不起,我现在才回复。 是的,我正在使用调试器查找字符串

现在,我的错误是我的方法引发的异常:

 db.Database.CreateIfNotExists();
错误:

Exception:Thrown: "Cannot open database "TAP2014_15Project" requested by the            
login. The login failed.
Login failed for user 'AMBROGIO\Filippo'."       
(System.Data.SqlClient.SqlException)
A System.Data.SqlClient.SqlException was thrown: "Cannot open database  
"TAP2014_15Project" requested by the login. The login failed.
Login failed for user 'AMBROGIO\Filippo'."

配置文件中应包含以下行:

<add name="ConnectionStringName"
     providerName="System.Data.SqlClient"
     connectionString="Data Source=AMBROGIO\SQLEXPRESS;Initial Catalog=TAP2014_15Project;Integrated Security=True" />

更新


至于关于登录错误的问题,aleady也解决了同样的问题

双反斜杠是一个转义序列,当包含在双引号分隔的字符串中时,它将解析为单个反斜杠。反斜杠在许多上下文中用于表示多字符转义序列的开始,以表示特殊或不可打印的字符。不幸的是,微软在早期的DOS操作系统中也选择反斜杠作为路径分隔符。因此,要在双引号分隔的字符串中表示路径分隔符,您需要使用双反斜杠。

您所说的“哪个到达我的设置函数”是什么意思?你是如何确定字符串的?我的猜测是,您正在调试器下查找,调试器将自动(并且通常没有帮助)逃避反斜杠…您应该添加您的问题所在。你收到错误信息了吗?导致错误消息的代码是什么?错误消息是什么?这里的“@”符号非常重要,它可以神奇地为您跳出斜杠。如果没有@,您需要自己添加转义斜杠。根据Peter Gluck的回答,这种定义字符串文本的方式对于定义文件系统路径非常方便。
connectionString = @"Data Source=AMBROGIO\SQLEXPRESS;Initial Catalog=TAP2014_15Project;Integrated Security=True";