相关疑难解决方法(0)

如何在ASP.NET Core中设置正确的AttachDbFilename相对路径?

在基于ASP.NET Core(以前的ASP.NET 5),.NET Core CLR RC1,EF Core(以前的EF 7),启用EF迁移,LocalDb v11.0的Web项目中使用VS2015.

我手动(通过SQL命令)创建了一个数据库并将MDF/LDF文件放在一个项目子目录中,情况类似于:

MySolution\src\MyProject\MyLocalData\
  - MyLocalDb.mdf
  - MyLocalDb_log.ldf
Run Code Online (Sandbox Code Playgroud)

这是"ConnectionString"密钥集的值appsettings.json(或者至少是我尝试的众多密钥之一):

"Data Source=(LocalDb)\\v11.0;AttachDbFilename=.\\MyLocalData\\MyLocalDb.mdf;Integrated Security=True"
Run Code Online (Sandbox Code Playgroud)

初始迁移已经正确创建,现在我遇到了dnx ef database update命令(参见官方教程),它给出了这个错误:

错误号:15350,状态:1,类:14尝试为文件附加自动命名的数据库.\ MyLocalData\MyLocalDb.mdf失败.存在具有相同名称的数据库,或者无法打开指定的文件,或者它位于UNC共享上.

我很确定没有其他具有该名称的数据库,在我的用户主目录中检查了文件,在Sql Server Management Studio中检查了LocalDb实例中的数据库.事实上,如果我切换到绝对文件路径AttachDbFilename,迁移会进一步移动(并找到与通过EF流畅界面设置的列属性相关的其他错误,但这是另一个故事).

因此,我认为这是找到正确的相对路径使用的问题AttachDbFilename.我在这里搜索了SO的相关主题,但找不到任何答案.我也尝试改变想象当前文件夹wwwrootartifacts文件夹的相对路径,但没有运气.

有没有人知道如何正确设置它?TA

c# entity-framework asp.net-core

5
推荐指数
1
解决办法
8008
查看次数

标签 统计

asp.net-core ×1

c# ×1

entity-framework ×1