无法使用SQLExpress创建数据库... EF 4.2代码优先+ 2011年6月CTP单元测试和| DataDirectory |

时间:2011-10-22 22:42:03

标签: unit-testing entity-framework ef-code-first sql-server-express

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;

依赖关系:

  • 实体框架4.2预览(Nuget)
  • 实体框架2011年6月CTP
  • 单元测试项目(使用NUnit)
  • 的SQLExpress
  • AttachDBFilename = | DataDirectory目录| Test.mdf;

为了使所有这些工作,我必须为AttachDbFilename指定一个绝对路径。

我已经能够在不同的设置上使用它,但在安装CTP后它将无法正常工作。这是一个已知的问题吗?

1 个答案:

答案 0 :(得分:0)

您正在I:驱动器上创建数据库文件,因此问题可能与权利有关。

测试是否是权限问题:尝试在本地C驱动器上创建文件夹,为Everyone提供完全控制权,然后更改连接以使用该文件夹。