EF with (LocalDb)V11.0
EF虽说对LocalDb支持的不错,但LocalDb有自身的缺陷(不想sqlite那样数据库文件可以像普通文件一样使用).
LocalDb在一个计算机上会对数据库有唯一性约束,要求本机的localdb不能重名.如果没有注意到这一点就会有以下问题:
Cannot attach the file ‘{0}' as database '{1}'
EF CodeFirst 指定不同数据库文件路径来新建同名的数据库时就会出现无法新建数据库(localDb)。
删除localdb的方法
不能仅仅删除文件,需要通过工具或者命令行来删除:
1.SqlServer management studio或者SqlServer Object Explorer:
Or
2.VS Developer Command Prompt
PM> sqllocaldb.exe stop v11.0 LocalDB instance "v11.0" stopped. PM> PM> sqllocaldb.exe delete v11.0 LocalDB instance "v11.0" deleted. PM> sqllocaldb.exe start v11.0 LocalDB instance "v11.0" started.
更多细节查看:
https://stackoverflow.com/questions/13275054/ef5-cannot-attach-the-file-0-as-database-1
附加:
Download SQL Server 2012 Express
IIS7 配合 vs2013内置 LocalDB使用
错误提示:
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 50 - 发生了 Local Database Runtime 错误。Cannot create an automatic instance. See the Windows Application event log for error details.
)
在vs里调试运行都正常,放到IIS里就出现请求数据库失败的情况;
解决方法:
找到对应网站的应用程序池, 高级设置 里找到 标示 选择为LocalSystem就可以了.
遗憾的事,目前据我查询到的资料,Localdb在设计之初就不能配合iis使用,只能在开发环境中使用,不能在生产环境(IIS)中使用.
参考
Introducing LocalDB, an improved SQL Express
作者:旭东
出处:http://www.cnblogs.com/HQFZ
关于作者:专注于微软平台项目架构、管理和企业解决方案。现主要从事WinForm、ASP.NET、WPF、WCF、等方面的项目开发、架构、管理。如有问题或建议,请不吝指教!
本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。如有问题,可以联系我,非常感谢。
如果您该文觉得不错或者对你有帮助,请点下推荐,让更多的朋友看到,谢谢!