Cannot attach the file ‘**’ as database ‘**’ 图形界面解决方案

内容目录

问题起因解决方案总结

问题起因

使用Entity Framework Code First生成数据库。
完美成功,但是发现少写了一个字段。
删除数据库重新生成。


当再次生成时产生了错误。如下图:

Cannot attach the file as database 异常。
我的MM呀!这是啥情况,赶快度娘,搜狗,一顿SAO操作。
写的啥了,根本看不懂(或许没搜到点子上)。
那咋办?问题总是要解决呀,自己动手丰衣足食吧!
这无非就两个地方的:程序配置和数据库。
第一次是生成成功的,说明不是配置的问题,那就去数据库找吧!

解决方案

使用你Web.config配置文件的defaultConnection字符串中的Data Source的值登录数据库,我是(LocalDb)/v11.0。(期间我还尝试过其他数据源登录比较,这里只展示结果,其他就不做赘述了。)所以我的登录如下图:


登录成功后,发现我已经删除的BookDb竟然还存在。

不管“三七二十八”,选中删除。

“找不到指定文件”不用管它,关闭(这时候如果断开数据源重新连接,数据库就不存在了)。
运行项目,问题完美解决数据库生成成功!
 
注意:不同的EntityFramework版本有可能生成的配置节点不同
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="Data Source=(LocalDb)\v11.0; Initial Catalog=BookDb; Integrated Security=True; Connect Timeout=120; MultipleActiveResultSets=True; AttachDBFilename=|DataDirectory|\BookDb.mdf" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>

以上代码段Data Source写的很清楚用(LocalDb)\v11.0登录数据库。

  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="mssqllocaldb" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>

这个代码段则需要使用(LocalDb)\MSSQLLocalDB登录查看。

总结

问题就这样解决了,鉴于我没在网上找到合适的答案,写篇博客,希望可以帮助到后来者。就当我再写博客的时候发现,竟然有大神写过命令行解决方案。都怪自己没仔细找呀,要不也不用自己这么半天的尝试了。大神是命令行解决方案,我的就叫图形用户界面解决方案吧!嘿嘿……
这里贴一下大神的解决方案链接吧,希望对后来有问题的人可以有所帮助。
请参考此博文:http://www.cnblogs.com/lori/p/5206687.html
结束!

转载于:https://www.cnblogs.com/DeveloperHome/p/Cannot_attach_the_file_as_database.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值