entity framework代码的SQL Server Express连接string首先
我正在使用Visual Web Developer 2010 Express,并使用entity framework代码优先CTP。 我能够用新的SQL Server CE做到这一点,但我无法find一个连接string与SQL Server Express的工作。
这一个,使用SQL Server CEtesting版,工作正常(数据库创build和模型更改重新创build)。
<add name="TrempimModel" connectionString="data source=|DataDirectory|TrempimModel.sdf" providerName="System.Data.SqlServerCe.4.0" />
这一个,我从aspnetdb
连接string复制,
<add name="TrempimModel" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI; AttachDBFilename=|DataDirectory|TrempimModel.mdf;User Instance=true" providerName="System.Data.SqlClient" />
在启动时提供以下消息:
无法完成操作。 提供的SqlConnection不指定初始目录
那么如何使它与SQL Server Express一起工作呢?
这里的连接string的问题是:
<add name="TrempimModel" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI; AttachDBFilename=|DataDirectory|aspnetdb.sdf; User Instance=true" providerName="System.Data.SqlClient" />
你基本上定义了你要连接的“服务器” – 但是你不是在说要连接的文件里面的数据库。 另外 – SQL Server Express数据库文件的文件扩展名是 ( 根据OP的评论,是一个错字 )。 .mdf
(不是.sdf
– 也就是SQL Server Compact Edition) – 您还需要考虑这一点。
您需要在连接string中定义一个额外的database=....
(或Initial Catalog=.....
):
<add name="TrempimModel" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI; database=YourDatabaseName; AttachDBFilename=|DataDirectory|aspnetdb.mdf; User Instance=true" providerName="System.Data.SqlClient" />
那么它应该工作得很好。
有关更多背景和大量样本,请查看ConnectionStrings网站。