Entity framework 在EF和SqlRoleProvider之间共享SQLExpress数据库
我在SQLExpress 2008中有一个数据库,我正在通过EF4连接访问该数据库。它还包含网站的ASP.Net角色提供程序表。在web.config中,有两个单独的连接字符串指向同一数据库。在调试数据库时,我遇到以下错误: 无法打开物理文件 “D:\TFS\Main\Source\TestWeb\TestWeb\App\u Data\TestDB.mdf”。 操作系统错误32:“32(失败 检索此错误的文本。 理由:15105)”。试图附加 文件的自动命名数据库 D:\TFS\Main\Source\TestWeb\TestWeb\App\u Data\TestDB.mdf 失败。同名数据库 存在,或无法删除指定的文件 已打开,或位于UNC共享上Entity framework 在EF和SqlRoleProvider之间共享SQLExpress数据库,entity-framework,connection-string,roleprovider,Entity Framework,Connection String,Roleprovider,我在SQLExpress 2008中有一个数据库,我正在通过EF4连接访问该数据库。它还包含网站的ASP.Net角色提供程序表。在web.config中,有两个单独的连接字符串指向同一数据库。在调试数据库时,我遇到以下错误: 无法打开物理文件 “D:\TFS\Main\Source\TestWeb\TestWeb\App\u Data\TestDB.mdf”。 操作系统错误32:“32(失败 检索此错误的文本。 理由:15105)”。试图附加 文件的自动命名数据库 D:\TFS\Main\Sou
我假设这意味着两个不同的连接字符串不能同时连接到SQLExpress数据库 以下是连接字符串:
<add name="SqlRoleManagerConnection"
connectionString="data source=.\SQLEXPRESS;
Integrated Security=true;AttachDBFilename=|DataDirectory|TestDB.mdf;
User Instance=false;MultipleActiveResultSets=True"/>
<add name="TestDBEntities"
connectionString="metadata=res://*/TestDB.csdl|res://*/TestDB.ssdl|res://*/TestDB.msl;
provider=System.Data.SqlClient;
provider connection string="Data Source=.\SQLEXPRESS;
AttachDbFilename=|DataDirectory|\TestDB.mdf;
Integrated Security=True;User Instance=false;
MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
每个连接管柱上缺少开口角括号是故意的,这是因为SO的限制
你知道我该如何解决这个问题吗?我有同样的情况:EF和角色提供者连接到同一个数据库,还有两个连接字符串。但是我的ConnectionString中没有“AttachDBFilename…”,而是在RoleManager ConnectionString
Database=MyDb
和EF ConnectionStringInitial Catalog=MyDb
中。在SQLServerManagementStudio中,我已将物理数据库连接到对象资源管理器,并命名为MyDb
。这很有效。别问我为什么。关于连接字符串,我处于“让向导来做这些事情”的级别。他们以这种方式创建了字符串。@Colin:发布任何类型的代码(包括XML)时,需要突出显示有问题的行,然后单击编辑器工具栏上的“代码”按钮(101 010),以启用格式良好且语法突出显示的代码。这是SO的一个特性(不是限制)…“我假设这意味着两个不同的连接字符串不能同时连接到SQLExpress数据库?”不,这肯定不是真的。问题在别处。