无法创建数据库... EF 4.2 代码优先 + 2011 年 6 月 使用 SQLExpress 和 |DataDirectory| 进行单元测试中的 CTP
EF 生成的查询如下:
create database [Test] on primary (name=N'Test.mdf', filename=N'\Test.mdf') log on (name=N'Test_log.ldf', filename=N'I:\Test_log.ldf')
连接字符串:
Data Source=.\SQLEXPRESS; Integrated Security=SSPI; Initial Catalog=Test; AttachDBFilename=|DataDirectory|Test.mdf;
依赖项:
- Entity Framework 4.2 Preview (Nuget)
- Entity Framework June 2011 CTP
- A 单元测试项目(使用 NUnit)
- SQLExpress
- AttachDBFilename=|DataDirectory|Test.mdf;
为了使这一切正常工作,我必须为 AttachDbFilename 指定绝对路径。
我已经能够在不同的设置中使用它,但安装 CTP 后它就无法工作了。这是一个已知问题吗?
The query generated by EF is the following:
create database [Test] on primary (name=N'Test.mdf', filename=N'\Test.mdf') log on (name=N'Test_log.ldf', filename=N'I:\Test_log.ldf')
The connection string:
Data Source=.\SQLEXPRESS; Integrated Security=SSPI; Initial Catalog=Test; AttachDBFilename=|DataDirectory|Test.mdf;
Dependencies:
- Entity Framework 4.2 Preview (Nuget)
- Entity Framework June 2011 CTP
- A Unit test project (using NUnit)
- SQLExpress
- AttachDBFilename=|DataDirectory|Test.mdf;
In order for all this to work, I had to specify an absolute path for AttachDbFilename.
I've been able to use it on a different set-up but after installing CTP it won't work. Is this a known issue?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您正在 I: 驱动器上创建数据库文件,因此问题可能与权限相关。
要测试是否是权限问题:尝试在本地 C 驱动器上创建一个文件夹,给予Everyone完全控制权,然后更改连接以使用该文件夹。
You are creating the database file on the I: drive, the problem could therefore be rights related.
To test if it is a rights issue: Try creating a folder on the local C drive, give Everyone full controll, and then change the connections to use that folder.