首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在EF和SqlRoleProvider之间共享一个SqlRoleProvider数据库

在EF和SqlRoleProvider之间共享一个SqlRoleProvider数据库
EN

Stack Overflow用户
提问于 2010-03-06 20:21:09
回答 1查看 990关注 0票数 0

我在SQLExpress 2008中有一个通过EF4连接访问的数据库。它还包含网站的ASP.Net角色提供程序表。在web.config中,有两个单独的连接字符串指向同一个数据库。在调试数据库时,我得到以下错误:

无法打开物理文件"D:\TFS\Main\Source\TestWeb\TestWeb\App_Data\TestDB.mdf".的

操作系统错误32:“32(无法检索此错误的文本。原因: 15105)”。为文件D:\TFS\Main\Source\TestWeb\TestWeb\App_Data\TestDB.mdf附加自动命名数据库的尝试失败.存在同名的数据库,或者无法打开指定的文件,或者位于UNC共享上。

我假设这意味着两个不同的连接字符串不能同时附加到SQLExpress数据库?

以下是连接字符串:

代码语言:javascript
复制
<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=&quot;Data Source=.\SQLEXPRESS;
     AttachDbFilename=|DataDirectory|\TestDB.mdf;
     Integrated Security=True;User Instance=false;
     MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

每个连接线上缺少的开角括号在这里是故意的,是因为SO的限制。

有什么办法能让我避开这件事吗?

EN

回答 1

Stack Overflow用户

发布于 2010-03-06 23:34:49

我有同样的情况: EF和角色提供程序连接到同一个数据库以及两个连接字符串。但我没有“AttachDBFilename.”在我的ConnectionStrings中,而是在RoleManager ConnectionString Database=MyDb和EF ConnectionString Initial Catalog=MyDb中。在中,我将物理Db附加到对象资源管理器并命名为MyDb。这个很管用。别问我为什么。关于连接字符串,我所处的级别是“让向导来做事情”。他们用这种方式创造了字符串。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2393993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档