EF with (LocalDb)V11.0

本文介绍了Entity Framework (EF) 使用LocalDb时可能遇到的问题,包括数据库唯一性约束导致的错误及解决办法。此外还提供了删除LocalDb实例的具体步骤,并讨论了LocalDb在IIS环境下使用的限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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:

enter image description here

Or

enter image description here

 

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

image

 

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

Local Data Overview

转载于:https://www.cnblogs.com/HQFZ/p/4110488.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值