我在Visual Web Developer 2010 Express中工作,并使用实体框架代码优先CTP。我能够用新的SQL Server CE做到这一点,但我无法找到连接字符串来与SQL Server Express一起工作。Entity Framework的SQL Server Express连接字符串代码优先
这一个,使用SQL Server CE测试版,工作正常(数据库创建并在模型更改时重新创建)。
<add name="TrempimModel"
connectionString="data source=|DataDirectory|TrempimModel.sdf"
providerName="System.Data.SqlServerCe.4.0" />
这一项,这是我从aspnetdb
连接字符串复制,
<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一起工作呢?
a)sdf扩展名是一个错字。我在连接字符串中使用了mdf - 编辑了问题以反映这一点。指定数据库的建议解决了我的问题 - 谢谢。我正在使用与文件名相同的名称 - 是正确的还是会导致一些问题? – GilShalit 2010-11-07 10:14:50
@GilShalit:它取决于你的MDF里的数据库真的叫什么;很可能与文件名称相同。您必须通过将MDF附加到完整的SQL Server实例并查看真正调用MDF内存储的数据库来验证这一点。 – 2010-11-07 10:27:01
因为你似乎对此知道很多,我不假设你有时间可以看看我的问题......我可以让连接字符串工作,但如果我尝试编辑/使用数据库,我得到这么多的错误:( - http://stackoverflow.com/questions/5924553/entity-framework-error-connecting-to-sql-server-express-after-mounting-connecting并重新发布到MSDN - http: //social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/1ec3ff63-d8a1-4844-942d-c2c05ed8078e – Wil 2011-05-10 12:42:23