我一直在尝试让角色参与我的 MVC 4.0 项目。我可以使用我的实体框架连接字符串查询和更新我的数据库。
<add name="DataContext"
connectionString="metadata=res://*/Models.Model.csdl|res://*/Models.Model.ssdl|res://*/Models.Model.msl;
provider=System.Data.SqlClient;
provider connection string='data source=.\SQLEXPRESS;
initial catalog=Phase 2;
integrated security=True;
multipleactiveresultsets=True;
application name=EntityFramework'"
providerName="System.Data.EntityClient" />
这非常有效。问题是当我尝试设置我的角色管理器时,它告诉我我的连接字符串无效
<roleManager enabled="true">
<providers>
<clear />
<add name="AspNetSqlRoleProvider"
type="System.Web.Security.SqlRoleProvider"
connectionStringName="DataContext"
applicationName="/" />
</providers>
</roleManager>
这会引发错误并告诉我我的连接字符串错误。经过显然研究后,我必须为我的提供商使用单独的连接字符串。我不知道如何将两个连接字符串指向相同的上下文。
这就是我目前命名上下文的方式。
public DataContext()
: base("name=DataContext")
{
}
有没有办法动态设置名称,或者我应该寻找另一种方法来做到这一点。